在OC中下面代码会输出什么:
NSArray *temp = @[@1,@2,@3];
for(int i = 0; i < temp.count-4; i++) {
NSLog(@"%d",i);
}
在swift中下面代码会输出什么:
let temp = [1,2,3]
for i in 0 ..< temp.count-4 {
print(i)
}
结果显然易见:OC会一直输出i直到一个最大值,swift不会输出。
原因是在OC中数组的count是NSUInteger类型,当NSUInteger为负数的时候,会变成最大值。swift中count是int型,所以没有问题。
下回要被抬杠,就用这个杠回去。滑稽。