[NSArray count]if比較問題

不可以直接使用[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;
    }
相關文章
相關標籤/搜索