ALAsset和PHAsset有什么区别?

3
我今天早上对PHAsset很好奇。上个月我处理的是ALAsset。我从苹果网站下载了一个使用ALAsset制作简单iOS照片应用的项目,并将其修改以添加更多功能,使其更像iOS Photos应用程序。然后我的老板接手了我的项目并告诉整个办公室,我需要接受培训,他必须重新编写整个项目,因为我的代码大多已过时(可能是因为使用了ALAsset?)。我的老板在iOS方面非常出色,我看到了他的代码,他正在使用PHAsset。
那么ALAsset和PHAsset之间有什么区别呢?我还在苹果/ 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


我喜欢这个问题附带了一个小故事。 - Mick Byrne
谢谢。 :) 我在发布这个问题时是一个新手 :) 我以前没有接受过培训。 - Glenn Posadas
1个回答

5
如您所见,这两个类的参考文档来自于两个不同的框架。 PHAsset属于较新的Photos框架(添加于iOS 8.0)。 ALAsset属于最初的AssetsLibrary框架。
如果您的应用程序的部署目标是iOS 8.0或更高版本,则应使用较新的框架。只有在您的应用程序需要支持iOS 7或更早版本时才使用较旧的AssetsLibrary框架。
在这种情况下,哪一个更容易的问题是无关紧要的。尽可能使用最新的框架。 Apple始终鼓励使用最新的框架、库、操作系统、硬件等。
您还将注意到,整个AssetsLibrary框架已被弃用。这意味着它已经过时。它仍然运作正常,但不建议使用,而应使用更新的库。

是的!非常感谢您的解释。:) 现在我知道为什么我的老板说我的代码已经过时了。 - Glenn Posadas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接