@property retain strong weak assign nonatomic @synthesize

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则不支持,不过产生的结果是一样的,retainstrong,assign=weak

strong是强指针类型,引用计数会加一,weak是弱指针数据类型 直接对指针进行付值,所以不涉及引用计数的计算weak在释放是会自动将指针设置为nill,以防止野指针的出现。


@synthesize 自动合成 get 和 set 方法,如果在.m文件中没有这个的话将无法对其进行引用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值