如何使用可空int或NSInteger指针?

时间:2010-07-28 11:18:13

标签: objective-c pointers casting

如果没有设置,我需要在其getter方法中计算一个值。我更喜欢使用nullable int构造,因此我不需要另外bool来检查它是否已经计算过。

我的第一次预感是去NSInteger *。我可以检查它是否为NULL,否则为其设置一个值。但我不知道是否可能,因为我无法真正获得分配给它的值。

    if (!value)
    {
        value = [self calcValue]; 
    }
    return value;

这会导致Assignment makes pointer from integer without castReturn makes integer from pointer without a cast

如何将int分配给NSInteger *
如何将NSInteger *投射到int

或者:这个问题有什么更好的解决方案?

1 个答案:

答案 0 :(得分:9)

NSInteger实际上是int。您正在寻找NSNumber,它可以将数字视为对象。