我正在尝试做一个小班来管理Sqlite。我想将从数据库检索到的数据存储到对象数组中,但应用程序崩溃(BAD_ACCESS)
我的代码:
- (ArrayList *) execNonQuery: (char *) query {
@try {
sqlite3_stmt *sqlStat;
ArrayList *dataList;
if(sqlite3_prepare_v2(self->dbHandle, query, -1, &sqlStat, NULL) == SQLITE_OK) {
dataList = [[ArrayList alloc] init];
while (sqlite3_step(sqlStat) == SQLITE_ROW) {
NSMutableArray *list = [[NSMutableArray alloc] init];
for (int i = 0; i < sqlite3_column_count(sqlStat); i++) {
// CRASH
id data = (__bridge id)(sqlite3_column_value(sqlStat, i));
[list addObject: data];
}
[dataList addList:list];
}
}
sqlite3_finalize(sqlStat);
return dataList;
}
@catch (NSException *exception) {
NSLog(@"Excepción capturada: %@", [exception reason]);
return NULL;
}
}
我认为问题在于当我尝试这样做时:
id data = (__bridge id)(sqlite3_column_value(sqlStat, i));
注意: ArrayList 类只是 NSMutableArray 的 NSMutableArray
我是目标 c 的菜鸟,刚刚学习……抱歉拼写错误。
此致。