Ahs*_*san 8 objective-c nsinteger ios
我们如何比较两个NSInteger数字?我有两个NSIntegers并比较它们常规方式不起作用.
if (NSIntegerNumber1 >= NSIntegerNumber2) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
尽管如此,第一个值是13,第二个值是17,if循环正在执行
任何的想法 ?
lna*_*ger 11
好吧,既然你的名字中有Integer和Number,你可能已经将这两个值声明为NSNumber而不是NSInteger.如果是这样,那么您需要执行以下操作:
if ([NSIntegerNumber1 intValue] >= [NSIntegerNumber2 intValue]) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
否则它应该按原样工作!
jus*_*tin 11
NSInteger只是内置整数类型的typedef(例如int或long).
使用比较是安全的a == b.
其他常见的运营商的行为可以预见:!=,<=,<,>=等.
最后,NSInteger基础类型因平台/架构而异.假设它总是32位或64位是不安全的.
NSInteger int1;
NSInteger int2;
int1 = 13;
int2 = 17;
if (int1 > int2)
{
NSLog(@"works");
}
Run Code Online (Sandbox Code Playgroud)