我知道在C int中不能为零,这让我想问这个问题。我正在使用rails API,它使用int作为特定属性(评级)。此API调用可能不会返回任何评级,因为它还没有评级。我正在使用RestKit来映射API调用的结果。
也许我应该将从服务器API调用传回的int转换为NSNumber而不是int?或者我可以检查int是否为零?
答案 0 :(得分:4)
您应该使用NSNumber
,这是一个对象,因此可以是nil
。它可以包装整数,浮点数和布尔值:
NSNumber *number = nil;
if (!number) {
NSLog(@"Number not assigned");
}
number = @1;
if (number) {
NSLog(@"Number assigned: %d", [number intValue]);
}