можно ли создавать много экземпляров UIDocument?

Руководство Apple по программированию приложений на основе документов для iOS показывает пример кода, который создает список объектов FileRepresentation для отображения индекса документа. Первоначально экземпляры UIDocument не создаются. Затем, когда документ открывается, создается экземпляр подкласса UIDocument. Самое большее, что говорится в руководстве об этой конструкции:

В примере приложения теперь есть массив (_fileList) настраиваемых объектов модели, которые инкапсулируют имя и URL-адрес каждого из документов приложения. (FileRepresentation - это настраиваемый класс этих объектов.)

См. https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/DocumentBasedAppPGiOS/ManageDocumentLifeCycle/ManageDocumentLifeCycle.html#//apple_ref/doc/uid/TP40011148-CH

Почему этот объект FileRepresentation используется вместо простого создания списка UIDocuments? Есть ли накладные расходы при создании UIDocument, даже если он не открыт? Что, если я хочу, чтобы средство выбора файлов отслеживало конфликты iCloud (для этого требуется экземпляр UIDocument)?

Было бы более элегантно, если бы я мог просто хранить экземпляры UIDocument в моем списке файлов, как для обработки конфликтов iCloud, так и в случае, если пользователь изменяет имя документа, пока документ открыт.


person Taylor    schedule 25.06.2014    source источник


Ответы (1)


Почему этот объект FileRepresentation используется вместо простого создания списка UIDocuments?

Теоретически вы можете использовать UIDocument. Причина, по которой их нет в документации, заключается в том, что подклассы UIDocument могут быть реализованы способом, требующим интенсивного использования памяти. Создание объекта, который просто управляет именем и URL-адресом, - простой способ обеспечить низкое использование памяти до тех пор, пока вам не понадобится остальная часть класса UIDocument.

person Fruity Geek    schedule 25.06.2014