AutoPropertyInit 是一个 NSObject 分类,它简化了初始化 NSObject 子类属性的过程。
- (void)pp_autoPropertyInit
初始化该类中所有对象属性。例如,NSString 属性返回一个空的初始化对象 NSString,NSArray 初始化一个新分配的数组等。
直接在类的指定初始化器中使用。例如,在数据解析器中很有用,否则最好使用延迟加载。
#import "AutoInit.h"
#import "NSObject+AutoPropertyInit.h"
@implementation AutoInit
- (instancetype)init {
self = [super init];
if (self) {
[self pp_autoPropertyInit];
}
return self;
}
@end
对象创建后。
@interface MyClass : NSObject
@property (readwrite, strong, nonatomic) NSMutableArray *array;
@property (readwrite, strong, nonatomic) NSMutableDictionary *dictionary;
@end
@implementation DoAutoInit
- (void)myMethod {
MyClass *noAutoInit = [[MyClass alloc] init];
[noAutoInit pp_autoPropertyInit];
noAutoInit.array[0] = @"Some text";
noAutoInit.dictionary[@"key"] = @"value";
}
@end
Piotr Perznowski
NSObject-AutoPropertyInit 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE
文件。