Sqliteを管理するための小さなクラスをやろうとしています。DB から取得したデータをオブジェクトの配列に格納したいのですが、アプリがクラッシュします (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 の noob で、学習中です...スペルミスで申し訳ありません。
よろしくお願いします。