我在iOS7中使用NSUInteger时遇到了一个非常奇怪的问题,
在iOS7之前,一切都很完美,我猜它与iOS7中的64位支持有关。我的代码是这样的,非常简单:
if (blah blah blah) {
NSUInteger firstRow = 0;
firstRow = ([self.types containsObject:self.selectedMajorType] ?
[self.types indexOfObject:self.selectedMajorType] + 1 : 0);
...
}
根据我的控制台,
[self.types containsObject:self.selectedMajorType] true
[self.types indexOfObject:self.selectedMajorType] +1 1 ,
毫无疑问,indexOfObject也返回一个NSUInteger(根据Apple的文档),
这里有截图: 但firstRow总是f 王** 0
这太令人毛骨悚然了,我不知道NSUInteger正在发生什么,
有人能帮帮我吗?非常感谢!!____新发现_____
我猜这是问题所在?这很奇怪..
答案 0 :(得分:0)
我尝试重新创建这个场景,但我总是得到预期的结果1.
以下是截图:
以下是project,请尝试运行此功能,看看是否仍然遇到问题。
PS。我使用的是xcode 5.1和iPhone 64bit Simulator。
=============的更新强> =====
以下是您使用的lldb命令的一些解释。
po :打印对象的目标C描述。
print / p :评估当前帧中的通用表达式。如果程序中没有使用,请指定函数的返回类型。
希望此屏幕截图有助于您了解更多信息。