したがって、一連のオブジェクト全体を DB から削除したいと考えています。
それらは一時的に NSMutableArray に格納されます。
これは、それらをループする現在のコードです。
+(BOOL) removeLogs:(Logs *)logs {
Database *db = [DatabaseManager sharedDatabaseManager].db;
sqlite3_exec(db.dataBase, "BEGIN", 0, 0, 0);
const char *sqlRemoveLogs = "DELETE FROM logs WHERE LogID = ?";
if(sqlite3_prepare_v2(db.dataBase, sqlRemoveLogs, -1, &removeLogStatement, NULL) != SQLITE_OK) {
NSLog(@"Failed to prepare statement: %s", sqlite3_errmsg(db.dataBase));
return NO;
}
for(int i = 0; i < logs.getLogs.count; i++) {
sqlite3_bind_int(removeLogStatement, 1, [logs getLogAtIndex:i].logId);
if(SQLITE_DONE != sqlite3_step(removeLogStatement)) {
NSLog(@"Failed to remove logs: %s", sqlite3_errmsg(db.dataBase));
return NO;
}
sqlite3_clear_bindings(removeLogStatement);
sqlite3_reset(removeLogStatement);
}
sqlite3_finalize(removeLogStatement);
NSLog(@"Logs removed");
return YES;
}
これを、 for ループを使用して反復処理する必要がある形式で取得したいと考えています。sqlite に対して次のステートメントを使用します。
DELETE FROM logs WHERE LogID IN ?
この「?」を埋めるにはどうすればよいですか? NSMutableArray とは? これを行うことさえ可能ですか?
よろしくお願いします
編集:「ログ」オブジェクトは NSMutableArray です