2015-11-16 13 views
2

Мне было любопытно сегодня утром около PHAsset. В прошлом месяце я имел дело с ALAsset. Я загрузил проект iOS с веб-сайта Apple, который использует ALAsset, чтобы создать простое приложение для фотоизображения iOS, и я изменил его, чтобы добавить больше функций, чтобы быть более похожим на iOS-приложение. И тогда мой босс обработал мой проект и сказал всему офису, что меня нужно обучить, и он должен переписать весь проект, потому что мои коды в основном устарели (возможно, из-за использования ALAsset?). Мой босс настолько хорош в iOS, и я видел его коды, он использует PHAsset.В чем разница между ALAsset и PHAsset?

Какая разница между ALAsset и PHAsset? Я также видел нить в форуме Apple/iOS, что PHAsset является новым и ALAsset является старым.

Кроме того, я хотел бы знать, что лучше между ними, и какой из этих двух проще использовать, когда дело доходит до написания метаданных изображения.

Я новичок в iOS (2 месяца), и я вижу, что PHAsset и ALAsset оба - от NSObject.

https://developer.apple.com/library/prerelease/ios/documentation/Photos/Reference/PHAsset_Class/index.html

https://developer.apple.com/library/prerelease/ios/documentation/AssetsLibrary/Reference/ALAsset_Class/index.html

+0

Мне понравился этот вопрос с небольшой историей. –

+0

Спасибо. :) Я был новичком, когда я разместил этот вопрос :) Я никогда не учился раньше. – Glenn

ответ

3

Как видно из справочной документации для двух классов они из двух разных структур.

PHAsset от новой рамки фотографий (добавлено в iOS 8.0).

ALAsset является оригинальной базой баз данных AssetsLibrary.

Вы должны использовать новую структуру, если целью развертывания вашего приложения является iOS 8.0 или новее. Используйте только устаревшую среду AssetsLibrary, если ваше приложение нуждается в поддержке iOS 7 или ранее.

В этом случае вопрос о том, что проще, не имеет значения. Используйте, если возможно, более новый. Apple всегда поощряет использование новейших фреймворков, библиотек, ОС, оборудования и т. Д.

Вы также заметите, что вся инфраструктура AssetsLibrary устарела. Это означает, что он устарел. Он по-прежнему функционирует, но его использование не рекомендуется в пользу новой библиотеки.

+0

Да !!! Большое вам спасибо за разъяснение. :) Теперь я знаю, почему мой босс сказал, что мои коды устарели. – Glenn