Tôi nhận được lỗi này: [NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array
mặc dù tôi có 75 mục trong cơ sở dữ liệu của mình. Tại sao nó cho tôi thấy lỗi này? Tôi đang cố gắng để có được các mục từ cơ sở dữ liệu của tôi, nhưng nó nói với tôi chỉ số 0.[NSMutableArray objectAtIndex:]: index 0 vượt quá giới hạn cho mảng trống '
+(NSMutableArray *)GetAttitudeItems
{
NSArray *arrDocPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *strDestPath = [NSString stringWithFormat:@"%@/ItemsAndCategory.sqlite",[arrDocPath objectAtIndex:0]];
//sqlite3 *sqlite;
NSMutableArray *arrItemsList;
if(sqlite3_open([strDestPath UTF8String],&database)==SQLITE_OK)
{
const char *strQuery = "SELECT * FROM Items WHERE CategoryName='ATTITUDE' ORDER BY RANDOM()";
NSLog(@"The value is %s",strQuery);
sqlite3_stmt *stmt;
//char *err;
arrItemsList = [[NSMutableArray alloc]init];
if(sqlite3_prepare_v2(database, strQuery , -1,&stmt, NULL)==SQLITE_OK)
{
while (sqlite3_step(stmt)==SQLITE_ROW)
{
NSString *StrCatename = [NSString stringWithUTF8String:(char*)sqlite3_column_text(stmt, 1)];
NSString *StrItemName = [NSString stringWithUTF8String:(char*)sqlite3_column_text(stmt, 0)];
Itemslist *itemlist = [[Itemslist alloc]init];
itemlist.CategoryValue = StrCatename;
itemlist.ItemValue =StrItemName;
[arrItemsList addObject:itemlist];
}
}
if (stmt!=nil)
{
sqlite3_finalize(stmt);
}
}
sqlite3_close(database);
return arrItemsList;
}
Kiểm tra arrAlert có trống không? –
kiểm tra [countItemsList Count]; – Deepesh