objc非主流代码技巧

2015-05-13  本文已影响59人  iStig

链接objc非主流代码技巧
[objc]readonly属性支持扩展的写法

假如一个类有一个readonly属性:

@interface Sark : NSObject
@property (nonatomic, readonly) NSArray *friends;
@end

.m中可以使用_friends来使用自动合成的这个变量,但假如:

这种readonly声明方法就行不通了,所以下面的写法更有通用性:

@interface Sark : NSObject
@property (nonatomic, readonly, copy/加上setter属性修饰符/) NSArray *friends;
@end

如想在.m中像正常属性一样使用:

@interface Sark ()
@property (nonatomic, copy) NSArray *friends;
@end
子类化时同理。iOS SDK中很多地方都用到了这个特性。

上一篇 下一篇

猜你喜欢

热点阅读