【发布时间】:2014-08-11 12:55:07
【问题描述】:
在我的部分代码中,我编写了一个简单的for 循环来迭代数组中的元素(全部为NSMutableDictionarys),我发现即使条件基本上是1
于是我写了如下代码,来测试这个问题的有效性:
NSMutableArray* arr = [[NSMutableArray alloc] init];
NSLog(@"COUNT: %d | %i", arr.count, 1 < (arr.count - 1));
输出是:
COUNT: 0 | 1
这本质上意味着计数为 0,并且 1 小于 -1。
我想也许是因为数组是新初始化的,也许添加和删除一个对象可能会改变这一点,所以我继续这样做:
NSMutableArray* arr = [[NSMutableArray alloc] init];
[arr addObject:@1];
[arr removeObject:@1];
NSLog(@"COUNT: %d | %i", arr.count, 1 < (arr.count - 1));
还是一样的结果:
COUNT: 0 | 1
我想到的可能原因:
- 关于编译器/objective-C 的一些东西我还不明白
- 我的 Mac 中的寄存器出没
- 我疯了
我非常怀疑这是最后两种情况中的任何一种,但我仍然想知道为什么会发生这种情况。
【问题讨论】:
标签: ios objective-c