Есть ли проблемы с массивом CKAsset в одном CKRecord?

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

Я подумал, что буду использовать CloudKit для хранения этих изображений как CKAsset.

В CloudKit, помимо других типов списков свойств, я могу создать CKAsset и прикрепить к нему файл (в моем случае - JPEG). Я также могу прикрепить NSArray любого из этих типов, включая CKAsset.

Мои пользователи могут отправлять 5 изображений на объект, а может быть 30 ... кто знает.

Просто интересно, сталкивался ли кто-нибудь с подобной ситуацией и видел недостатки в этом подходе. (против, скажем, создания отдельных CKRecords для каждого изображения и, например, добавления ссылки на другой CKRecord).


person Dan Morrow    schedule 25.05.2015    source источник
comment
Я только начинаю делать что-то подобное. Я добавлю десятки изображений через CKAsset в один CKRecord. Это то, что вы должны уметь делать.   -  person rmaddy    schedule 25.05.2015
comment
Да, я имею в виду, я знаю, что могу это сделать, мне просто интересно, лучше ли создать NSArray и прикрепить все эти файлы CKAsset ИЛИ, может быть, мне следует создать отдельный тип записи который содержит только CKAsset, и создает ссылки на него. Это изображения, размером по пару мегабайт каждое. Его можно закодировать любым способом. Просто интересно, могут ли быть проблемы с производительностью / пропускной способностью / другими проблемами при выполнении этого одним способом (все изображения в записи) по сравнению с другим (каждое изображение в записи, ссылающееся на родительскую запись).   -  person Dan Morrow    schedule 25.05.2015
comment
Я предлагаю сделать это правильно (прикрепить активы к их записи) и посмотреть, как все пойдет. Не ищите проблемы до того, как она существует. Я могу только предположить, что Apple была умна в том, как они заставили это работать.   -  person rmaddy    schedule 25.05.2015


Ответы (1)


Получение CKRecord с несколькими CKAsset может занять значительное время для загрузки. У вас не будет никакого контроля над этим. Если вы храните каждый ресурс в его собственном CKRecord с ссылкой CKReference на его родительскую запись, вы можете запросить их, и вы сможете увидеть, как они поступают один за другим. Кроме того, уверены ли вы, что вам всегда нужны все CKAsset при доступе к основной записи? В противном случае это было бы пустой тратой полосы пропускания. Я бы посоветовал вести отдельную запись для каждого актива. Затем вы также можете добавить поле assetType, чтобы при необходимости можно было различать активы.

person Edwin Vermeer    schedule 25.05.2015
comment
Спасибо, это мое первое знакомство с CloudKit, так что это полезно. - person Dan Morrow; 26.05.2015