这可能是一个很长的镜头,但我有很多属性的对象。这些对象的值是从数据库请求创建的NSDictionary填充的。因此,这些NSDictionaries中可能包含NSNull
个值,这些值将自动分配给属性。我需要属性来自动丢弃不正确类型的值/对象。目前我这样做:
- (void) setViewID:(NSString *)viewID{
if (!viewID || [viewID isKindOfClass:[NSString class]]) _viewID = viewID;
}
但是当我有30-50个属性时,最终会有很多额外的代码。有没有办法合成这种行为?这似乎是一个普遍的要求,但我似乎无法找到一种方法来做它除了写出一切。
答案 0 :(得分:2)
为什么不在查看字典时检查NSNull
? E.g。
for (NSString *key in dictionary) {
id value = [dictionary objectForKey:key];
if (value == [NSNull null]) {
value = nil;
}
[self setValue:value forKey:key];
}