Хранить большой файл изображения в двоичной строке, используя NSUserDefaults, не является успехом, любое другое решение? - PullRequest
0 голосов
/ 21 ноября 2011

Я пытаюсь поместить свой настроенный объект, в котором есть строка и хранилище изображений, используя NSUserDefaults, но я обнаружил, что изображение слишком большое, что я не могу сохранить. Итак, есть ли другие решения, чтобы справиться с этим? Я хотел бы сохранить его в двоичном формате вместо записи файла.

Ошибка с консоли: * - [NSKeyedUnarchiver initForReadingWithData:]: данные имеют значение NULL

Спасибо.

Ответы [ 3 ]

0 голосов
/ 21 ноября 2011

Другое возможное решение - сохранить его в Core Data. Там вы можете указать, чтобы сохранить его как двоичные данные.

0 голосов
/ 21 ноября 2011

напрямую от Документация Apple .

Для многих приложений требуется механизм хранения информации, который будет необходимо позже. Для ситуаций, когда вам нужно хранить небольшие объемы постоянных данных - скажем, менее нескольких сотен списки свойств в килобайтах предлагают единый и удобный способ организация, хранение и доступ к данным.

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

вы должны использовать класс NSKeyedArchiver. см. эту ссылку сохранение данных, созданных пользователем .

0 голосов
/ 21 ноября 2011

Сохраните это изображение в каталоге документов и сохраните путь в NSUserDefault.

Вы можете получить доступ к каталогу документов вот так

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
...