我正在处理地址簿,我想检查它们是否是正在创建的联系人的ID集。但是,地址簿ID是一个整数,我担心它可能是零。所以我想做点像......
if (_contact.id) { ... }
但是,我冒这个风险假设与id 0的联系不存在,即使它确实存在。这是一个难以测试的问题,因为它涉及设置新的地址簿。
所以我的问题是,有没有办法检查联系人是否实际上是NULL / Nil没有它假设0意味着它是空的?就像"是整数"功能还是对自然的某种东西?
答案 0 :(得分:6)
如果我理解正确,您需要检查属性是否已设置。
您可以添加另一个@property (readonly, getter=isIdSet) BOOL idSet
并在id
的设置器中设置支持iVar:
- (void)setId:(int)id {
_id = id;
_idSet = YES;
}
然后查看if (contact.idSet)
或者,您可以使用NSNumber
对象并检查该属性是否为nil
。