如果没有设置,我需要在其getter方法中计算一个值。我更喜欢使用nullable int
构造,因此我不需要另外bool
来检查它是否已经计算过。
我的第一次预感是去NSInteger *
。我可以检查它是否为NULL,否则为其设置一个值。但我不知道是否可能,因为我无法真正获得分配给它的值。
if (!value)
{
value = [self calcValue];
}
return value;
这会导致Assignment makes pointer from integer without cast
和Return makes integer from pointer without a cast
。
如何将int
分配给NSInteger *
?
如何将NSInteger *
投射到int
?
或者:这个问题有什么更好的解决方案?
答案 0 :(得分:9)
NSInteger
实际上是int
。您正在寻找NSNumber
,它可以将数字视为对象。