【发布时间】:2012-02-28 05:13:11
【问题描述】:
我们如何比较两个 NSInteger 数字?我有两个 NSInteger,用常规方式比较它们是行不通的。
if (NSIntegerNumber1 >= NSIntegerNumber2) {
//do something
}
尽管第一个值为 13,第二个值为 17,但 if 循环正在执行
有什么想法吗?
【问题讨论】:
-
您就是这样做的。仔细检查它们的值:在
if之前设置一个断点并确保它们是您所期望的。 -
NSInteger 是 int 的别名。所以它应该工作。否则指定 NSIntegerNumber1 变量的类型..
-
你确定这些是 NSInteger 数字吗?我的猜测是这些是 NSNumbers,您正在尝试比较指针。
-
确保在调试时使用的是 p 而不是 po,这就是解决我的问题的原因
-
为什么 p 不理解类型而 p 不理解?如果 po 不知道类型,为什么它会打印一个看似有效的值?不管是什么原因,这帮助我找到了我的根本问题。
标签: objective-c ios nsinteger