@property
Hai_Judy
这个作者很懒,什么都没留下…
展开
-
@property面试整理
1.这个写法会出什么问题:@property(copy)NSMutableArray *array? 参考答案: 首先是没有指明为nonatomic,因此就是atomic 原子操作,会影响性能。该属性使用了同步锁,会在创建时生成一些额外的代码用于帮助编写多线程程序,这会带来性能问题,通过声明nonatomic 可以节省这些虽然很小但是不必要的额外开销。在我们的应用程序中,几乎都是使用原创 2016-07-27 12:28:19 · 349 阅读 · 0 评论 -
用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
1、因为父类指针可以指向子类对象,使用copy的目的是为了让本对象的属性不受外界影响,使用copy无论给我传入是一个可变对象还是不可对象,我本身持有的就是一个不可变的副本. 2、如果我们使用是strong,那么这个属性就有可能指向一个可变对象,如果这个可变对象在外部被修改了,那么会影响该属性. copy此特质所表达的所属关系与strong类似。然而设置方法并不保留新值,而是将其“拷转载 2016-07-27 12:56:14 · 2442 阅读 · 0 评论 -
@property的本质是什么?ivar、getter、setter是如何生成并添加到这个类中的
1.@property的本质是什么 @property的本质 = ivar (实例变量) + getter (取方法) + setter (存方法) “属性”(property)有两大概念:实例变量(ivar)、存取方法(getter + setter) 2、ivar、 getter 、setter 是如何生成并添加到这个类中的 这是编译器自动合成的,通过@synthesize 关键字指转载 2016-07-27 13:27:01 · 2675 阅读 · 0 评论 -
@protocol和category 中如何使用@property (协议和分类中如何使用@property属性)
在协议@protocol中使用@property只会生成setter和getter方法声明,我们使用属性的目的就是希望遵守我们协议的对象能够实现该属性; 在分类category中使用@property 也是只会生成setter 和getter 方法声明,如果真需要个category增加属性的实现,需要借助于两个运行时的函数 //objc_setAssociatedObjec转载 2016-07-27 13:39:50 · 2336 阅读 · 1 评论