ios - Objective-C - 区分 nil 和 'no value'

标签 ios objective-c

我正在构建一个图 TableView ,我正在为其提供一个数据源,它可以向该数据源请求与给定 X 索引相对应的 Y 值。在某些情况下,给定的 X 索引没有 Y 值。在这种情况下我不能发送 nil,因为 0 可能是一个完全有效的 Y 值。 Objective-C 中传达根本没有值(value)的最佳方式是什么?

最佳答案

在我看来,您正在使用某种对象(可能是 NSNumber)在模型和 View 之间发送数据,它保存着一个值,您通过发送它来检索该值一条消息,并且您知道如果对象为 nil,则发送的消息将返回 0

没错。在这种情况下,只需检查对象是否为 nil,然后进行相应操作:

- (void)plotValue:(NSNumber *)number
{
    if (number == nil) {
        // no value
    } else {
        // Value may be 0, but you can now safely plot it.
    }
}

关于ios - Objective-C - 区分 nil 和 'no value',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15425992/

相关文章:

ios - 为已发布的 iPhone 应用程序迁移 Realm 数据库的步骤

ios - 实例成员 'navigationItem' 不能用于类型 'MainViewController'

ios - xcode 解析查询按钮从单元格中删除照片和文本

objective-c - Objective-C 垃圾收集打开时 xml 元素插入错误

objective-c - NSPredicate 中的减法

iOS比较功能

ios - 无法将类型 'UIViewController' 的值分配给类型 'LeftViewController!'。为什么?

ios - NSJSONSerialization - 无法将数据转换为字符串

ios - 'QBChatRoom' 已弃用 : Use QBChatDialog instead

ios - NSLayoutConstraints 在 Section Collapsed 时中断