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

Pet*_*rdk 1 pointers casting objective-c

如果没有设置,我需要在其getter方法中计算一个值.我更喜欢使用一种nullable int结构,所以我不需要另一种bool来检查它是否已经计算好了.

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

    if (!value)
    {
        value = [self calcValue]; 
    }
    return value;
Run Code Online (Sandbox Code Playgroud)

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

我如何指定int一个NSInteger *
我怎么会NSInteger *去一个int

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

mvd*_*vds 9

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