最近这段时间接受的东西比较多,全部写下来的话太费时间,所以把现在开始只写自认为关键的部分;
前些天我问过一个问题,关于NSInteger和NSUInteger的区别,因为我给NSUInteger的值赋值一个负数也可以,输出无误.
今天遇到了这样一个问题:
for (int i = -1; i < items.count; i++) {
NSLog(@"%d", i);
}
循环里的语句不执行;
items.count 的值就是3,但是 -1 < items.count 结果是 0;
找原因,发现count的类型是 NSUInteger的 ,
执行 NSLog(@"%lld",-1),输出的结果是一个非常大的数.
所以在 -1 和一个NSUinteger类型的数作比较的时候 -1被转换成了一个非常大的数
感觉对NSUInteger对了一点了解