目标C:检查int是否存在,包括零

时间:2014-03-24 23:13:54

标签: ios objective-c cocoa-touch

我正在处理地址簿,我想检查它们是否是正在创建的联系人的ID集。但是,地址簿ID是一个整数,我担心它可能是零。所以我想做点像......

if (_contact.id) { ... }

但是,我冒这个风险假设与id 0的联系不存在,即使它确实存在。这是一个难以测试的问题,因为它涉及设置新的地址簿。

所以我的问题是,有没有办法检查联系人是否实际上是NULL / Nil没有它假设0意味着它是空的?就像"是整数"功能还是对自然的某种东西?

1 个答案:

答案 0 :(得分:6)

如果我理解正确,您需要检查属性是否已设置。

您可以添加另一个@property (readonly, getter=isIdSet) BOOL idSet并在id的设置器中设置支持iVar:

- (void)setId:(int)id {
    _id = id;
    _idSet = YES;
}

然后查看if (contact.idSet)

或者,您可以使用NSNumber对象并检查该属性是否为nil