@property
会生成ivar+setter+getter
方法, 自动实现 synthesize
实例变量
self.ivar
- 通过@property
定义属性, 有retaincount
` _ivar ` - 成员变量 ,不自动实现setter ,getter,这个在 .m
中可以用self->ivar
或 _ivar
来赋值及引用,在写框架中需要定义private
会很有用.
一旦重写一个属性的get和set方法的话,Xcode不会再自动生成带有下划线的私有成员变量了。
如下图所示,在我们只定义了get方法时一切都没有问题,但是一旦我们又重写set方法,会发现用到 _ivar
的地方就会报错