ios字典轉模型

ios字典轉模型
標籤:ios 字典轉模型
    
 1、在模型類中自定義方法來實現,注意:屬性名稱和字典裏面的KEY要和實際數據的屬性同樣
  a、在模型類中的實現
123456789101112131415161718192021222324252627282930    // 模型類 .h文件       @interface Person: NSObject       @property (nonatomic,copy) NSString *name;   @property (nonatomic,assign) UIInteger age;       // 自定義這個方法        - (instancetype)initWithDict:(NSDictionary *)dict;     + (instancetype)personWithDict:(NSDictionary *)dict;         @end     // 模型類 .m文件實現   - (instancetype)initWithDict:(NSDictionary *)dict {        if (self = [super init]){                           self.name = dict[@"name"];              self.age = dict[@"age"];          }                   return self; }  + (instancetype)personWithDict:(NSDictionary *)dict {        return [ [self alloc] initWithDict:dict];  }    
 b、在獲取模型數據類中的實現
12     Person *p = [Person alloc] initWithDict:dict];(這裏直接字典轉模型) // Person *p = [Person personWithDict:dict];    
2、直接用KVC實現,注意模型屬性要和數據的實際屬性相同,否則用KVC方法會報錯
  a、在模型類中的實現
1234567891011121314151617181920212223242526272829303132    // 模型類 .h文件       @interface Person: NSObject       @property (nonatomic,copy) NSString *name;   @property (nonatomic,assign) UIInteger age;       // 自定義這個方法    - (instancetype)initWithDict:(NSDictionary *)dict; + (instancetype)personWithDict:(NSDictionary *)dict;     @end    // 模型類 .m文件實現   - (instancetype)initWithDict:(NSDictionary *)dict {        if (self = [super init]){                          // self.name = dict[@"name"];            //  self.age = dict[@"age"];                            [self setValuesForKeysWithDictionary:dict];  (這裏實現)     }                   return self; }  + (instancetype)personWithDict:(NSDictionary *)dict {        return [ [self alloc] initWithDict:dict];  }    
b、在獲取模型數據類中的實現
12    1  Person *p = [Person alloc] initWithDict:dict];(這裏直接字典轉模型)2  // Person *p = [Person personWithDict:dict];    
3、利用封裝好的第三方框架實現
  如: MJExtension  具體實現看github的介紹
相關文章
相關標籤/搜索