我在我的一个方法中定义了一个int值:
int value = [self someMethodThatGetsAnINT];
后来我有一些“ifs”来检查这个值。
如何表达: if(value == nil)?
当我尝试这样直观的代码编写时,我会收到警告:
语义问题:指针和整数之间的比较('int'和'void *')
答案 0 :(得分:15)
nil
只是0
:)试试这个:
if (0 == value)
但是,为什么要对int进行nil
测试 - 这听起来很有趣:)
答案 1 :(得分:4)
如果你真的想要返回一个nil值,你可能应该使用NSNumber作为返回类型而不是int。 NSNumber是一个在objective-c中包含标量值的类。当你有一个有效的返回值时,可以在其中放入一个整数,否则返回nil。
答案 2 :(得分:0)
你可以使用if (value == (int)nil)
但实际上一个返回int的函数不应该返回nil,因为nil不是一个整数(虽然它可以用相似的方式表示)。
this可能有助于清除它