ios / objective-c:如何在将Null插入核心数据时阻止异常?

时间:2015-11-22 15:39:04

标签: ios core-data null

我认为如果值为null但以下代码不会抛出异常。我错过了一个错字或是否有不同的方法来做这个?

if (![itemid isKindOfClass:[NSNull class]])
                {
            [record setValue:itemid forKey:@"itemid"];
            }

Throws exception 'itemid    NSNumber *  (null)  0x14e8ebc0'

1 个答案:

答案 0 :(得分:0)

如果itemid为nil(与NSNull类的实例相对),则-isKindOfClass:将返回NO,它将传递条件并尝试设置该值。

所以,你可能想要if (itemid && ![itemid isKindOfClass:[NSNull class]]) { ...

对于nil引用的消息在numeric / bool上下文中返回nil,或0或false,而不管该消息的参数如何。