objective-c - 如何使用可为空的 int 或 NSInteger 指针?

如果尚未设置,我需要在它的 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

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

最佳答案

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

https://stackoverflow.com/questions/3352291/

相关文章:

c# - 使用 Web 应用程序管理定时事件的首选方法是什么?

php - 使用php过滤掉数组中的重复值

macos - 如何为 Mac OS X 制作可启动 DVD?

iphone - CFBundleExecutable 错误

objective-c - 如何将 self 作为方法参数传递?

vim - 如何指定文件的缩进?

python - 获取当前日期作为方法的默认参数

ios-simulator - class_getClassMethod 通常返回 nil(似乎只适

iphone - 如何确保浮点值始终是 0.25 的倍数?

.net - 来自非托管代码的 System.AccessViolationException?