2013-09-18 2 views
5

Я смотрел сессии WWDC 2013, касающиеся iCloud и Core Data. Я действительно надеялся увидеть там новые видео для UIManagedDocument или UIDocument. Вы можете помнить, что эти классы теоретически предлагают большой и простой подход для сохранения данных с (UIManagedDocument) или без CoreData (UIDocument) локально и в iCloud. Но были или до сих пор есть некоторые действительно раздражающие системные ошибки, связанные с этими концепциями, особенно при синхронизации данных между устройствами, see for example here.iOS 7: Что случилось с UIDocument/UIManagedDocument и iCloud?

Тем не менее, не было никакого видеоролика, охватывающего UIManagedDocument/UIDocument и iCloud. Видео «Что нового в Core Data и iCloud?» просто охватывает классический подход для использования постоянных хранилищ Core Data, который расширяется новым API для автоматического покрытия резервных хранилищ и синхронизации. Кто-нибудь знает, что случилось с UIManagedDocument/UIDocument? Они отказались от этого и увидели классический подход, как лучший способ иметь приложения с Core Data и iCloud sync?

+0

Повторите попытку через 3/4 часа, поскольку это технически еще под NDA. – CW0007007

+0

Я действительно верю, что новые резервные хранилища, добавленные к реализации iOS 7 iCloud, обращаются к вашему примеру. См. «Что нового в основных данных и iCloud» WWDC 2013 Сессия 207. – dtrotzjr

+0

Вы нашли ответ на это сомнение? Мне очень интересно узнать, является ли использование UIManagedDocument хорошей идеей или нет. – MatterGoal

ответ

1

Мое понимание состоит в том, что UIManagedDocument - это легкая обертка поверх данных ядра, чтобы абстрагироваться от некоторых общих настроек и взаимодействия данных ядра. Это также способ упаковки других элементов документа, но управление синхронизацией iCloud этих элементов остается в качестве упражнения для разработчика.

If you are using iCloud, UIManagedDocument does not support “additional content” in the document directory (see additionalContentForURL:error: and related methods)

Вот ссылки из: UIManagedDocument

Смотрите также: additionalContentForURL:error:

Практически все, что относится к основным данным относится к UIManagedDocument, где он использует основные данные под капотом. Например, я использую новые резервные хранилища в моем проекте APManagedDocument.

Какие вещи вы надеялись увидеть в iOS 7?

+0

Я не разделяю ваше мнение. 'UIManagedDocument' является подклассом' UIDocument' и интегрируется в расширение с его суперклассом с Core Data. Сам 'UIDocument' (и, следовательно,' UIManagedDocument') является абстрактным классом для управления связанными с документами действиями, такими как скоординированное чтение и запись, синхронизация, решение конфликтов и т. Д. Поэтому синхронизация iCloud встроена, а не упражнение для разработчиков (см. Класс ссылки для них). Я надеялся увидеть дальнейшую разработку этих классов и необходимость исправления ошибок для процессов синхронизации, которые находятся за скоординированными чтениями и записью с использованием iCloud. – FrankZp

+0

В этом году на WWDC было ясно, что в это время 'UIManagedDocument' только синхронизирует основную часть данных' UIManagedDocument'. Я согласен с вами, было бы неплохо, если бы Apple заняла эти классы дальше, но я думаю, что в этом году они сосредоточились на стабилизации синхронизации данных ядра. Я понимаю, что «UIManagedDocument», возможно, был преждевременным, потому что сама синхронизация данных ядра сама сейчас начинает формироваться. Вот, надеюсь, в следующем году лучше. – dtrotzjr

+0

P.S. Когда я говорю, что это упражнение для разработчика, я имею в виду, что «UIManagedDocument» стоит сегодня. – dtrotzjr