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