.h中代码
@property(retain,nonatomic) NSMutableArray *arr;
.m中代码
@synthesize arr;
如果是这样的话,在.m中使用_arr 就会报错,说_arr没有申明的错。
但是如果.m中的代码改为
@synthesize arr = _arr;
那么使用_arr 就不会报错。
这是为什么呢??
.h中代码
@property(retain,nonatomic) NSMutableArray *arr;
.m中代码
@synthesize arr;
如果是这样的话,在.m中使用_arr 就会报错,说_arr没有申明的错。
但是如果.m中的代码改为
@synthesize arr = _arr;
那么使用_arr 就不会报错。
这是为什么呢??
1.之前一直以为属性@property是不需要实例化的。所以没有实例化这个概念了。在项目中,model里的一些属性也是直接调用一些框架的。所以也不需要在代码里实例化。再一般而言,xib中的一些View,button也是不需要用代码去实例化的。
和@property对应的是@synthesize方法。Xcode编译器会自动添加@synthesize xx=_xx;这样子的代码。
@synth......
答案就在这里:iOS中关于属性@property和@synthesize的问题:
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?