不可以直接使用[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; }