如果尚未设置,我需要在它的 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
?
或者:这个问题有什么更好的解决方案?
最佳答案
NSInteger
实际上是一个int
。您正在寻找 NSNumber
,它可以让您将数字视为对象。
https://stackoverflow.com/questions/3352291/