YYModel icon indicating copy to clipboard operation
YYModel copied to clipboard

High performance model framework for iOS/OSX.

Results 105 YYModel issues
Sort by recently updated
recently updated
newest added

Xcode9 编译时,有些语法会有警告。建议处理一下。

NSObject+YYModel.m line 951-953 NSObject *newOne = [cls new]; [newOne yy_modelSetWithDictionary:(id)oneValue]; if (newOne) dic[oneKey] = newOne; 这里的newOne是不会为nil的,所以就算yy_modelSetWithDictionary返回false,创建对象失败,也会被添加到数组里。类似的还有添加到数据和set的判断。我在代码中是这样改的,之前提过一个合并的request,不知道为什么没通过: NSObject *newOne = [cls new]; if( [newOne yy_modelSetWithDictionary:(id)oneValue]){ dic[oneKey] = newOne; }

如果不影响效率,在NSObject (YYModel)增加这样一个方法可好? - (NSArray *)yy_modelArrayWithJson:(id)json; 这样就不用每次都:array = [NSArray yy_modelArrayWithClass:cls json:json];

enhancement

在NSObject+YYModel.m 文件中定义的 force_inline 和系统的 __header_always_inline 有什么区别吗?

比如: NSDictionary *dict = @{ @"id" : @"20", @"desciption" : @"好孩子", @"name" : @{ @"newName" : @"lufy", @"oldName" : @"kitty", @"info" : @[ @"test-data", @{@"nameChangedTime" : @"2013-08-07"} ] }, @"other"...

一个设想,可不可以吧`protocal YYModel` 设计成由一个adapter类实现,在转换不同的json时传入不同的adapter

NSString *test = "{\"count\":1,\"createTime\":\"2017-07-13 16:21:58\",\"roomNum\":\"495653\",\"serverTime\":\"2017-07-13 16:50:24\"}" NSDictionary * resultValue = [NSDictionary yy_modelDictionaryWithClass:[NSString class] json: test]; 转换失败

从NSMutableSet中删除元素时将会判断hash值,在删除之前如果修改了model中的某个值,会导致两次计算hash值时结果不一样。直接反应就是NSMutableSet的removeObject方法无法删除object。

((void (*)(id, SEL, id))(void *) objc_msgSend)((id)model, meta->_setter, value); ``` (void (*)(id, SEL, id)) (void *) objc_msgSend 后面(void *) 这个是不是有点多余了? ```

当model时NSData类型是,为什么返回nil,而不是用data初始化一个NSString对象返回? if ([model isKindOfClass:[NSData class]]) return nil;