Это, вероятно, наивный вопрос - но я хочу дважды проверить, чтобы не тратить время на UIDocument
, если он не делает то, что я хочу.NSCoder + UIDocument: совместимы ли они?
фона: У меня есть приложение, для которого я создал простую файловую систему, чтобы сохранить в созданные пользователем документы, plists
. У меня все кодирование/декодирование. Я использую некоторые примитивные типы и обрабатываю их с помощью соответствующего метода кодирования. У меня есть система именования и сохраняю plists в пользовательский каталог в каталоге Library
, так как это документы, к которым пользователь не должен иметь прямой доступ. (Они могут экспортировать свои данные в каталог документов, если они пожелают
Я начал думать о «автосохранение», а затем обнаружил UIDocument
-.. Выглядит довольно большой
Поэтому, учитывая вышесказанное, это, кажется, как я могу использование UIDocument
? Я сохраняю экземпляр класса «Project», созданный из NSObject. Он содержит кучу массивов NSMutable, которые содержат экземпляры пользовательских классов, NSDictionaries и т. д. Сейчас я просматриваю этот учебник UIDocument: http://www.raywenderlich.com/6015/beginning-icloud-in-ios-5-tutorial-part-1, t хотят узнать, что он не будет работать из-за моих данных и т. д.
Upda te: (для тех, кто читает дома ... ;-) Сделал некоторый прогресс с этим.
UIDocument использует
(Неверно - см. Ниже), но имена методов кодирования одинаковы, поэтому было легко настроить то, что у меня уже было. Удалили plist, который выглядит так, будто он захватывает все данные, но я не буду знать, пока не попытаюсь прочитать все это. Ошибка, которую я не разобрал:NSKeyedArchiver
, а не
NSCoder
NSFileCoordinator: была сигнализирована удивительная ошибка сервера. Детали: Connection invalid
Не удивительно, потому что я сохраняю локально непонятно, почему он пытается подключиться к iCloud вообще. Надеюсь, я могу отключить это.
Был следующим кодом: http://stackoverflow.com/questions/8479198/icloud-how-to-save-archive-containing-array-of-custom-objects - не нашел много других примеров использования сложные данные с UIDocument –
Дело в том, что все UIDocument заботится о получении NSData - ему все равно, что находится в данных или как он туда попал. Вы делали NSData раньше с помощью NSCoder, поэтому вы можете использовать те же данные с UIDocument. (Не означает, что вы не можете видеть другие проблемы с UIDocument, но, по крайней мере, они не будут иметь отношения к вашему дизайну модели. Поместите некоторые данные/код, и мы можем помочь диагностировать.) – rickster
Cool - спасибо за разъяснение , Сейчас я работаю грубо. Проблемы теперь больше @, что я не разрабатывал свои классы с моделью «документ» в виду, поэтому у меня есть некоторые пересмотры. Любые мысли о 'NSFileCoordinator: была сигнализирована удивительная ошибка сервера. Подробности: Ошибка подключения недействительна? –