【问题标题】:iOS: How to Check if an "int" Value Equals to "nil"iOS:如何检查“int”值是否等于“nil”
【发布时间】:2011-08-23 11:15:19
【问题描述】:

我在我的一种方法中定义了一个 int 值:

int 值 = [self someMethodThatGetsAnINT];

稍后我有一些“ifs”来检查这个值。

我该如何表达:if (value == nil)

当我尝试编写这种直观的代码时,我收到一条警告:

语义问题:指针和整数之间的比较('int' 和 'void *')

【问题讨论】:

    标签: ios if-statement int null


    【解决方案1】:

    nil 只是一个0 :) 试试这个:

    if (0 == value)
    

    但是,您为什么要针对 int 测试 nil - 这听起来很有趣 :)

    【讨论】:

      【解决方案2】:

      如果你真的想返回一个 nil 值,你可能应该使用 NSNumber 作为你的返回类型而不是 int。 NSNumber 是一个在objective-c 中包装标量值的类。当你有一个有效的返回值时,你可以在其中放入一个整数,或者当你没有时返回 nil。

      【讨论】:

        【解决方案3】:

        您可能可以使用if (value == (int)nil),但实际上返回 int 的函数不应返回 nil,因为 nil 不是整数(尽管它可能以类似方式表示)。

        this 可能有助于澄清一点

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-03-10
          • 2015-11-24
          • 2016-06-11
          • 1970-01-01
          • 2019-11-17
          • 1970-01-01
          • 2018-07-18
          相关资源
          最近更新 更多