我有檢查時,一個問題,如果有一個從數據庫來的東西:如何解決這個「指標0超越界限空陣!」
代碼:
hourPrograma: @"12:00";
NSArray *hourLinha = [hourProgram componentsSeparatedByString:@":"];
NSArray * test = [notificationDAO selectHourMin:[hourLinha[0] intValue]:[hourLinha[1] intValue]];
if (!test[0]) {
NSLog(@"ok!!!");
} else {
NSLog(@"empty!!!");
}
我的查詢:
-(NSArray *) selectHourMin:(NSInteger *) hour: (NSInteger *) min {
query = [NSString stringWithFormat:@"SELECT hour, min FROM notification WHERE %i = hour AND %i = min", hour, min];
NSArray * resp = [self loadDataFromDB:query];
return resp;
}
當我檢查它是否爲空或者是否返回了某個內容時,會顯示錯誤。
你'if'說法是錯誤的。在所有情況下,您正在檢查第一個對象。如果沒有記錄而你的'test'對象是'nil'會怎麼樣。這會導致你正面臨的崩潰。 – Gandalf
使用'Array'屬性'count'。 – dasdom
順便說一句 - 你的方法被命名爲:'selectHourMin ::'。這是一個糟糕的命名慣例。你應該命名方法:''selectHour:andMin:'。 – rmaddy