我有一個if語句,用於檢查一個指數是否小於數組的末尾。 當「i」的值爲-1時,這不起作用。如果語句檢查NSArray大小
NSMutableArray *myArray = [NSMutableArray array];
[myArray addObject:@"coucou"];
int i = -1;
// Not working
if (i < ([myArray count] - 1)){
NSLog(@" first ok ");
}
// Fix
int count = [myArray count] - 1;
if (i < count){
NSLog(@" second ok ");
}
這就是我需要做的就是它的工作(相同的算法,但使用一箇中間變量來存儲數組的大小) 任何人都知道爲什麼嗎?
因爲[myArray count]返回NSUInteger,並且您將它與int變量進行比較。 use(int)[myArray count]。它會正常工作。 – Yogendra
非常感謝@trojanfoe非常有趣的評論.. – Hacketo