我正在使用JSON將數據解析到NSArray'courseArray'中。然後,我使用NSPredicate過濾這些數據並將其存儲到'行'中。問題是,我不知道如何確定'行'是否爲空。例如:如果存在一條記錄,那麼行將包含適當的對象,但是如果記錄不存在,那麼應用程序會崩潰(當我使用NSLog查看數組內容的空白時,我相信它應該表示它爲零?如果沒有物體)。我怎樣才能解決這個問題?objective-c空NSArray錯誤
if (dict)
{
courseArray = [[dict objectForKey:@"lab"] retain];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"labNumber== %@",labSelected]; //filter
rows = [[courseArray filteredArrayUsingPredicate:predicate]retain];
}
[jsonreturn release];
self.formattedTextView.opaque = NO;
self.formattedTextView.backgroundColor = [UIColor clearColor];
NSLog(@"array %@",rows);
**NSDictionary *currentSelection = [rows objectAtIndex:0];** (app crashes at this line - [NSArray objectAtIndex:]: index 0 beyond bounds for empty array')
NSString *labNumber = [currentSelection objectForKey:@"labNumber"];
我想了很多,但我不知道如何停止錯誤,我試過如果([行數] == 0),但它不工作,也試過「if(rows!= nil) –
您的應用程序可以'如果你已經包裝了它,你仍然會在'[rows objectForIndex:0]'行中引發一個異常,除非'[rows count]'不爲零,否則你永遠不會得到它。是否可能有其他的錯字或小調缺陷混淆了這個問題? – Tommy