映射动态获取模型属性和字典的key。

- (id)parsedic:(NSDictionary *)myDic usingModel:(Class)model {

   unsigned int outCount;

   objc_property_t *properties = class_copyPropertyList([model class], &outCount);

   NSEnumerator *enumeratorKey = [myDic keyEnumerator];

   NSString *key;

   NSString *name;

   id value;

   id obj = [[model alloc] init];

   const char *propertyName;

   for (key in enumeratorKey) {

       for (int i = 0; i < outCount; i++) {

           objc_property_t property = properties[i];

           propertyName = property_getName(property);

           name = [NSString stringWithUTF8String: propertyName];

           if ([[key uppercaseString] isEqualToString: [name uppercaseString]]) {

               value = [myDic objectForKey: key];

               [obj setValue: value forKey: name];

           }

       }

   }

   return obj;

}

图片发自简书App
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容