iOS7中的NSUInteger

时间:2014-06-05 04:09:23

标签: ios objective-c ios7 numbers nsuinteger

我在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的文档),

这里有截图: enter image description here 但firstRow总是f 王** 0

这太令人毛骨悚然了,我不知道NSUInteger正在发生什么,

有人能帮帮我吗?非常感谢!!

____新发现_____ enter image description here

我猜这是问题所在?这很奇怪..

1 个答案:

答案 0 :(得分:0)

我尝试重新创建这个场景,但我总是得到预期的结果1.

以下是截图:

enter image description here

以下是project,请尝试运行此功能,看看是否仍然遇到问题。

PS。我使用的是xcode 5.1和iPhone 64bit Simulator。

=============的更新 =====

以下是您使用的lldb命令的一些解释。

po :打印对象的目标C描述。

print / p :评估当前帧中的通用表达式。如果程序中没有使用,请指定函数的返回类型。

希望此屏幕截图有助于您了解更多信息。

enter image description here