diff --git a/YYModel/NSObject+YYModel.m b/YYModel/NSObject+YYModel.m index 3d7c470..b4e93b6 100644 --- a/YYModel/NSObject+YYModel.m +++ b/YYModel/NSObject+YYModel.m @@ -909,8 +909,7 @@ static void ModelSetValueForProperty(__unsafe_unretained id model, if (!cls) cls = meta->_genericCls; // for xcode code coverage } NSObject *newOne = [cls new]; - [newOne yy_modelSetWithDictionary:one]; - if (newOne) [objectArr addObject:newOne]; + if (newOne && [newOne yy_modelSetWithDictionary:one]) [objectArr addObject:newOne]; } } ((void (*)(id, SEL, id))(void *) objc_msgSend)((id)model, meta->_setter, objectArr); @@ -949,8 +948,7 @@ static void ModelSetValueForProperty(__unsafe_unretained id model, if (!cls) cls = meta->_genericCls; // for xcode code coverage } NSObject *newOne = [cls new]; - [newOne yy_modelSetWithDictionary:(id)oneValue]; - if (newOne) dic[oneKey] = newOne; + if (newOne && [newOne yy_modelSetWithDictionary:(id)oneValue]) dic[oneKey] = newOne; } }]; ((void (*)(id, SEL, id))(void *) objc_msgSend)((id)model, meta->_setter, dic); @@ -984,8 +982,7 @@ static void ModelSetValueForProperty(__unsafe_unretained id model, if (!cls) cls = meta->_genericCls; // for xcode code coverage } NSObject *newOne = [cls new]; - [newOne yy_modelSetWithDictionary:one]; - if (newOne) [set addObject:newOne]; + if (newOne && [newOne yy_modelSetWithDictionary:one]) [set addObject:newOne]; } } ((void (*)(id, SEL, id))(void *) objc_msgSend)((id)model, meta->_setter, set);