在判讀數組長度是否大於6時,使用數組長度減去6進行判斷,代碼如下:
[cpp]
<pre name="code" class="cpp">//初始化數據
NSMutableArray *listArray = [[NSMutableArray alloc] initWithObjects:@"cell1",@"test2", nil];
if ([listArray count] - 6 > 0) {
NSLog(@"listArray數組的長度大於6");//即使數組長度為2也會打印出信息
}
翻看數組NSArray的API後發現,數組的count屬性類型是NSUInteger,對應C語言中的無符號整型,當一個整型類型的數(int 類型)和無符號整型(unsigned int類型)的數相做加減運算時,運算的結果是一個無符號整型(unsigned int)類型,所以,在上面的示例中, [listArray count] - 6 > 0 的值是大於0的,所以在進行無符號整型(unsiged int)和整型(int)的運算的時候,需要特別注意,上面代碼的正確寫法應該如下:
[html]
//初始化數據
NSMutableArray *listArray = [[NSMutableArray alloc] initWithObjects:@"cell1",@"test2", nil];
[html] view plaincopy
int judgeCase = [listArray count] - 6 ;//將unsiged類型的值強制轉化成int類型
[html] view plaincopy
if (judgeCase > 0) {
NSLog(@"listArray數組的長度大於6");//即使數組長度為2也會打印出信息
}
作者:yhawaii