數據模型代碼

/**
 *  自動生成解析數據的代碼
 */
- (void)resolveDict:(NSDictionary *)dict
{
    NSMutableString *propertyString = [NSMutableString string];

    [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 = @"int";
        }else if ([obj isKindOfClass:NSClassFromString(@"__NSCFDictionary")]){
            type = @"NSDictionary";
        }


        // 屬性字符串
        NSString *str = nil;
        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) %@ %@;",@"NSInteger",key];
        }

        // 每生成屬性字符串,就自動換行。
        [propertyString appendFormat:@"\n%@\n",str];

    }];

    // 把拼接好的字符串打印出來,就好了。
    NSLog(@"%@",propertyString);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章