iOS 属性修饰符记录 --不定时更新

重新审视了一下OC在属性修饰符,特意记录一下来。以后不定时更新

》 retain:只有在非ARC下才会有效,所有如果在ARC下使用了retain修饰也白搭

如以下的data属性用retain修饰:

#import <UIKit/UIKit.h>
@interface MyView : UIView

@property(nonatomic, retain) NSMUtableArray* data;

@end

在对应的setter方法中,会以如下代码实现:

if (_data != newValue) {
    [_data release];
     _data = [newValue retain];
}

总结:使用retain修饰符,会使被赋值的对象引用计数加1

》 copycopy不会改变被赋值的对象引用,而是浅拷贝被赋值对象的副本。

对应的setter方法如下:

if (_data != newValue) {
    [_data release];
    _data = [newValue copy];
}

总结:不改变被赋值对象的引用计数,只是对象的副本引用计数加1.

》strong跟retain差不多,暂时没什么好记得了

后面再记.

原文地址:https://www.cnblogs.com/cool-fire/p/5375315.html