ios中如果需要访问某个实例变量可以使用属性,
如:@property(strong,nonatomic)NSString *str1;//.h文件 @synthesize str1;//.m文件
@property 属性的语法格式;strong 强指针类型;nonatomic 非原子,用于线程保护
在xcode4.2中,定义一个对象类型的属性@property(retain,nonatomic)NSString *str1;
在xcode4.3及以后中,定义一个对象类型的属性@property(strong,nonatomic)NSString *str1;
在xcode4.2中,定义一个基本数据类型的属性@property(assign,nonatomic)int a;
在xcode4.3及以后中,定义一个基本数据类型的属性@property(weak,nonatomic)int a;
因为4.3支持arc,4.2则不支持,不过产生的结果是一样的,retain=strong,assign=weak。
strong是强指针类型,引用计数会加一,weak是弱指针数据类型 直接对指针进行付值,所以不涉及引用计数的计算,weak在释放是会自动将指针设置为nill,以防止野指针的出现。
@synthesize 自动合成 get 和 set 方法,如果在.m文件中没有这个的话将无法对其进行引用。