1

このコードは iPhone と iPhone シミュレーターでは問題なく動作しますが、iPad で実行するとシミュレーターがクラッシュします。

const char *createsql = [MYClass GetDBCreationString];
sqlite3_stmt *crts;
if (sqlite3_prepare_v2(database, createsql, -1, &crts, NULL) == SQLITE_OK) {
    int success = sqlite3_step(crts);
    if (success != SQLITE_DONE) {
        ///problem
    }
    sqlite3_finalize(crts);
    sqlite3_reset(crts);
}

その特定のクラスを保持する SQLLite テーブルを作成するコードです。毎回リセット行でクラッシュしますが、テーブルは正常に作成されます。

iPhone および iPhone シミュレーターでは問題なく動作します。ファイナライズとリセットは冗長ですか?もしそうなら、なぜ iPad ではクラッシュするのに、iPhone では正常に動作するのでしょうか?

4

2 に答える 2

4

iPad SDK は秘密保持契約に基づいています。この質問は、できる唯一の場所で行う必要があります: http://devforums.apple.com

于 2010-01-30T17:58:43.607 に答える
1

sqlite3_reset() は必要ないと思います。sqlite3_finalize() はあなたが望むことをするはずです。両方のシミュレーターで SQLite のバージョンは同じですか?

于 2010-01-30T18:00:52.603 に答える