不可以直接使用[NSArray count]在if中作比较,会有错误发生spa
int tempCount = -1;
NSArray* array = [[NSArray alloc] init]; if( tempCount >= [array count]) { int NewsChangeParam = -1; }
由于array是无符号int型,因此比较的时候会把前面的int也转为无符号int型。code
-1 无符号int型 等于:4294967295blog
因此本判断是成立的。会进入到it
int NewsChangeParam = -1;
须要使用这种方法去作array count比较
NSArray* array = [[NSArray alloc]init]; int tempCount = -1; int arrayCount = [array count]; if(tempCount >= arrayCount) { _NewsChangeParam = -1; }