Альтернатива Sqlite для iPhone [monotouch] - PullRequest
3 голосов
/ 15 июля 2010

Как видно из названия.

Я обнаружил, что у меня много проблем, связанных с недостаточной безопасностью потоков в оболочке Sqlite, необходимой для использования Sqlite с Monotouch - так что вопрос в том, есть лиальтернатива?Должно быть что-то !!?

w: //

Ответы [ 2 ]

4 голосов
/ 22 июля 2010

Sqlite сам по себе не является поточно-ориентированным, поэтому вам нужно вручную блокировать его всякий раз, когда вы собираетесь получить доступ к базе данных.Вы можете видеть, как я делал это с TweetStation:

http://github.com/migueldeicaza/TweetStation/

Это позволяет мне обновлять базу данных в фоновом режиме.

Есть несколько привязок к Sqlite: sqlite-net, представляющий собой крошечную привязку Sqlite или Mono.Data.Sqlite.

Что касается CoreData, у него будут те же проблемы, вы не получаете безопасность потоков бесплатно, вам нужно следовать их правилам, какхорошо.

0 голосов
/ 14 сентября 2011

В iOS 4 вы можете вызвать sqlite3_config (SQLITE_CONFIG_SERIALIZED) или использовать оболочку Sqlite3 в C #:

    var result = SQLite3.Config(SQLite3.ConfigOption.Serialized);
    if (result != SQLite3.Result.OK)
    {
        throw new InvalidProgramException("sqlite3 refused Serialized option");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...