OGeek|极客世界-中国程序员成长平台

标题: ios - ALAsset 和 PHAsset 有什么区别? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 12:03
标题: ios - ALAsset 和 PHAsset 有什么区别?

今天早上我一直对 PHAsset 感到好奇。上个月我曾经处理过ALAsset。我从 Apple 网站下载了一个 iOS 项目,该项目使用 ALAsset 来制作一个简单的类似 iOS 照片的应用程序,我对其进行了修改以添加更多功能,使其成为更像 iOS 照片的应用程序。然后我的老板处理了我的项目并告诉整个办公室我应该接受培训并且他必须重新编写整个项目,因为我的代码大部分已经过时(可能是因为使用 ALAsset?)。我老板的 iOS 非常好,我看到了他的代码,他正在使用 PHAsset

那么 ALAssetPHAsset 有什么区别呢?我还在 Apple/iOS 论坛中看到一个线程,PHAsset 是新的而 ALAsset 是旧的。

另外,我想知道两者之间哪个更好,以及在将元数据写入图像时,这两个哪个更容易使用。

我是 iOS 新手(2 个月),我可以看到 PHAssetALAsset 都来自 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



Best Answer-推荐答案


正如您从这两个类的引用文档中看到的,它们来自两个不同的框架。

PHAsset 来自较新的 Photos 框架(在 iOS 8.0 中添加)。

ALAsset 来自原始的 AssetsLibrary 框架。

如果您应用的部署目标是 iOS 8.0 或更新版本,您应该使用更新的框架。如果您的应用需要支持 iOS 7 或更早版本,请仅使用较旧的 AssetsLibrary 框架。

在这种情况下,哪个更容易的问题是无关紧要的。如果可能,请使用较新的。 Apple 始终鼓励使用最新的框架、库、操作系统、硬件等。

您还会注意到整个 AssetsLibrary 框架已被弃用。这意味着它已经过时了。它仍然有效,但不鼓励使用它以支持更新的库。

关于ios - ALAsset 和 PHAsset 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33727309/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4