-
需求場景:
需要新建一個模型,在模型里要挨個復制粘貼key,確定修飾類型
-
解決思路:
給字典建立一個分類,遍歷字典,判斷每一個值的類型,拼接上對應的修飾字符串,打印在控制臺之后復制粘貼到模型的.h文件里,節(jié)約時間
-
代碼實現(xiàn):
@implementation NSDictionary (moreFunction)
- (void)autoCreatePropetyCode{
// 模型中屬性一一對應字典的key
// 有多少個key,則生成多少個屬性
// 創(chuàng)建可變字符串用于拼接屬性
NSMutableString *codes = [NSMutableString string];
// 遍歷字典
[self enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull value, BOOL * _Nonnull stop) {
NSString *code = nil;
if ([value isKindOfClass:[NSString class]]) {
code = [NSString stringWithFormat:@"@property (nonatomic, cppy) NSString *%@;",key];
} else if ([value isKindOfClass:NSClassFromString(@"__NSCFBoolean")]){
code = [NSString stringWithFormat:@"@property (nonatomic, assign) BOOL %@;",key];
} else if ([value isKindOfClass:[NSNumber class]]) {
code = [NSString stringWithFormat:@"@property (nonatomic, assign) NSInteger %@;",key];
} else if ([value isKindOfClass:[NSArray class]]) {
code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSArray *%@;",key];
} else if ([value isKindOfClass:[NSDictionary class]]) {
code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSDictionary *%@;",key];
}
// 拼接字符串
[codes appendFormat:@"\n%@\n",code];
}];
// 打印屬性
NSLog(@"%@",codes);
}
@end
NSDictionary *dic = @{@"title":@"123123",
@"name":@"123123",
@"sex":@"123123"
};
[dic autoCreatePropetyCode];
@property (nonatomic, cppy) NSString *title;
@property (nonatomic, cppy) NSString *name;
@property (nonatomic, cppy) NSString *sex;
代碼下載地址:https://github.com/zhangjk4859/iOSFactory
完。
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。