关于@property和@synthesize

本文介绍了Objective-C中对象的创建方法及属性的三种类型:读写属性、setter属性与多线程相关属性。详细解释了不同属性类型的使用场景及区别,如assign、copy、retain等,并探讨了对象初始化过程。

参数分为三种:

第一种:读写属性包括(readonly / readwrite)

第二种:setter属性(assign,copy,retain),assign是简单赋值,copy是释放旧成员变量,并新分配内存规划给成员变量,讲传入参数内容复制一份,给成员变量。retain是讲传入参数引用计数加1,然后将原有成员变量释放,在将成员变量指向该传入参数。

第三种:与多线程有关(atomic,nonatomic),当使用多线程时,使用atomic,在不使用多线程时使用nonatomic

对象创建于初始化

在object-C中创建对象两种方法,一种是【类  new】另一种是【【类  alloc】 init】,这两种方法是等价的,但按惯例来讲使用【[类 alloc】init]

alloc操作是为对象分配内存空间,,并将对象的数据成员都初始化,int为0,BOOL位NO,float为0.0等。

初始化时,默认的初始化函数为init,init返回值为id,为什么返回id呢,因为要实现链式表达式,在objectIve-c中叫做嵌套调用。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值