0

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 で、学習中です...スペルミスで申し訳ありません。

よろしくお願いします。

4

0 に答える 0