Максимальный объем хранения данных iPhone - PullRequest
5 голосов
/ 21 октября 2010
  1. Есть ли предел того, сколько постоянного хранилища может потреблять одно приложение iPhone?

  2. Для чего save устанавливает аргумент error, если iPhone достигает лимита на приложение? Что если он достигнет аппаратного лимита?

  3. Можно ли ограничить количество объектов, хранимых для определенных объектов? Если да, то какой подход к этому хорош?

acani, приложение для iPhone, над которым я работаю, загружает с сервера 20 ближайших пользователей и сохраняет их в Core Data. После некоторого использования приложения таблица SQLite users может стать довольно большой. Как я мог ограничить это? Чем я должен ограничить это? Как только эта таблица достигнет полной емкости, как я могу сделать так, чтобы вновь загруженные пользователи заменяли самых старых загруженных пользователей?

Спасибо!

Мэтт

Ответы [ 2 ]

4 голосов
/ 21 октября 2010

Я не знаю ответа на вопросы о лимитах, но я думаю, вы хотели бы, чтобы максимальный объем данных был ограничен задолго до этого. Есть некоторые приложения для iPhone (games0, которые занимают большой объем памяти (я думаю, что Myst - это что-то вроде 1.5G). Но если вы позволите вашей базе данных расти до таких размеров, вы можете начать влиять на хранилище, которое есть у пользователя. для других их приложений.

Я был бы склонен предположить, что в вашем приложении должна быть реализована какая-то база данных. Вам придется написать это. Либо автоматически запускается, либо запускается вручную пользователем. Например, вы можете захотеть установить опцию настроек, где пользователь может указать, сколько «старых» пользователей он хочет сохранить. Если пользователи добавляются автоматически в зависимости от местоположения, каким алгоритмом пользователь, скорее всего, захочет отбросить список?

0 голосов
/ 09 мая 2012

Существует ограничение в 2 ГБ для приложений из App Store, но в отношении пользовательских данных вы должны иметь возможность в основном заполнять диск.Когда это произойдет, ваши сохранения начнут давать сбой, я полагаю, с NSFileWriteOutOfSpaceError 'всплыло из PSC.

Что касается ограничения пространства сущностей, то для этого нет поддержки Core Data - вам придется справитьсяэто программно.Вы можете расширить систему проверки, чтобы проверить определенные условия (свободное пространство, количество объектов) и отменить вставку или обновление, если они не соответствуют вашим критериям.

Если вы хотите удалить старых пользователей, просто выполните сортировкурезультаты и удалите первый / последний.

...