2010-05-09 3 views
1

Я использую базу данных sqlite3 для хранения данных приложения. Вместо того, чтобы создавать базу данных внутри программы, я ввел в свой проект существующий файл db: «abc.sqlite» и поместил его в папку «Ресурсы». Так что, я думаю, что это дб файл должен быть внутри «расслоения», так что в моей функции инициализации, я использовал следующее заявление, чтобы прочитать это:Какое место для файла базы данных sqlite3?

NSString *path = [[NSBundle mainBundle] pathForResource:@"abc" ofType:"sqlite"]; 
if(sqlite3_open([path UTF8String], &database) != SQLITE_OK) 
... 

Это нормально, что эта БД может быть открыт и данные могут быть извлекается из него. НО, кто-то сказал мне, что лучше скопировать этот файл db в папку пользователя: например, «Документ». Итак, мой вопрос: правильно ли использовать этот db из основного пакета напрямую или скопировать его в папку пользователя, а затем использовать эту копию. Что лучше?

спасибо!

ответ

4

Вы должны использовать его из своего пакета, если вам нужен только доступ для чтения. Если вам нужно записать в файл, вам нужно переместить его где-нибудь в качестве записи, как в каталоге документов.

Кроме того, как отмечает Sixten Otto, каталог поддержки приложений предпочтительнее для каталога Documents в новых SDK.

+0

Да, это правда. Почему я этого не нашел. Благодаря! –

+0

Поскольку я новичок здесь, у меня нет GEM, чтобы дать свой ответ на голосование. Итак, только спасибо! –

+0

Привет, я просто знаю, как принять ответ. Извините за задержку и еще раз спасибо! –

1

Учитывая, что содержимое папки «Документы» будет видимо для пользователей, использующих функции управления файлами на iPad, и в newer versions of the iPhone OS, могу ли я предложить Application Support folder?

+0

Спасибо за информацию, я не знал, что папка Document может быть прочитана другим приложением на iPad. Я попытаюсь поместить его в папку приложения. –

+0

Не другие приложения на устройстве, заметьте. Приложения по-прежнему изолированы. Но пользователь может управлять документами со своего компьютера с помощью iTunes. И могут быть другие пути в будущем. В принципе, безопаснее думать, что папка находится под контролем пользователя, как на Mac. –

Смежные вопросы