iOS:如何检查“int”值是否等于“nil”

9

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

int value = [self someMethodThatGetsAnINT];

稍后,我有一些“if”语句用来检查这个值。

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

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

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

3个回答

16

nil就是一个0 :) 尝试一下:

if (0 == value)

然而,为什么你要将 nil 测试与 int 进行比较 - 这里听起来有些不对劲 :)


4

如果你真的希望返回一个空值,你应该使用NSNumber作为返回类型,而不是int。NSNumber是Objective-C中封装标量值的类。当你有一个有效的返回值时,你可以将整数放入其中,或者在没有返回值时返回空值。


0

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

this 可能会有所帮助,稍微澄清一下。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接