青春不是用來迷茫任性的
拿到網(wǎng)絡(luò)數(shù)據(jù),創(chuàng)建模型定義屬性,這些不是很死板,寫得很頻繁很枯燥的代碼嗎?
為此我寫了一個(gè)NSObject分類自動(dòng)生成代碼,實(shí)現(xiàn):
+ (void)autoCreatePropertyCodeWithDict:(NSDictionary *)dict {
NSMutableString *strM = [NSMutableString string];
// 1.遍歷字典,把字典中的所有key取出來,生成對(duì)應(yīng)的屬性代碼
[dict enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
NSString *type;
if ([obj isKindOfClass:NSClassFromString(@"__NSCFString")]) {
type = @"NSString";
}else if ([obj isKindOfClass:NSClassFromString(@"__NSCFArray")]){
type = @"NSArray";
}else if ([obj isKindOfClass:NSClassFromString(@"__NSCFNumber")]){
type = @"NSNumber";
}else if ([obj isKindOfClass:NSClassFromString(@"__NSCFDictionary")]){
type = @"NSDictionary";
}
NSString *str;
if ([type containsString:@"NSString"]) {
str = [NSString stringWithFormat:@"@property (nonatomic, copy) %@ *%@;",type,key];
}else if ([type containsString:@"NS"]) {
str = [NSString stringWithFormat:@"@property (nonatomic, strong) %@ *%@;",type,key];
}else{
str = [NSString stringWithFormat:@"@property (nonatomic, assign) %@ %@;",type,key];
}
[strM appendFormat:@"\n%@\n",str];
}];
NSLog(@"\n\n/**************自動(dòng)生成屬性代碼**************/\n %@ \n/**************自動(dòng)生成屬性代碼**************/\n\n",strM);
}
用法:當(dāng)我拿到數(shù)據(jù) po打印一下

F339C92C-0B51-4A01-AF71-8F548E88108B.png
然后復(fù)制到模型中即可