这可能不太可能,但我已经获得了具有许多属性的对象。这些对象的值由从数据库请求创建的NSDictionary填充。正因为如此,这些NSDictionaries中可能包含一些自动分配给属性的NSNull值。我需要属性自动丢弃不是正确类型的值/对象。目前我是这样做的:
- (void) setViewID:(NSString *)viewID{
if (!viewID || [viewID isKindOfClass:[NSString class]]) _viewID = viewID;
}但当我有30-50个属性时,这最终会产生大量额外的代码。有没有一种方法可以合成这种行为?这似乎是一个很常见的需求,但我似乎找不到一种方法,除了把它全部写出来之外。
发布于 2012-06-01 02:04:44
当你浏览字典时,为什么不检查一下NSNull呢?例如。
for (NSString *key in dictionary) {
id value = [dictionary objectForKey:key];
if (value == [NSNull null]) {
value = nil;
}
[self setValue:value forKey:key];
}https://stackoverflow.com/questions/10838800
复制相似问题