[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;
    }
相关文章
相关标签/搜索