3

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

4

1 回答 1

5

正如您从两个类的参考文档中看到的那样,它们来自两个不同的框架。

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

ALAsset来自原始的 AssetsLibrary 框架。

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

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

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

于 2015-11-16T01:42:47.673 回答