ALAsset和PHAsset之间有什么区别?

时间:2015-11-16 01:40:07

标签: ios alasset phasset

今天早上我对INSERT INTO Documents_Archives(name, length, price, timestamp) SELECT name, length, price, GETDATE() FROM Documents WHERE ... 感到很好奇。我上个月经常处理PHAsset。我从Apple网站下载了一个iOS项目,该项目使用ALAsset制作一个简单的iOS照片类应用程序,我修改了它以添加更多功能,以便更像iOS照片类应用程序。然后我的老板处理了我的项目并告诉整个办公室我应该接受培训,他必须重新编写整个项目,因为我的代码大部分已经过时(可能是因为使用了ALAsset?)。我的老板在iOS上非常好,我看到了他的代码,他正在使用ALAsset

那么PHAssetALAsset之间有什么区别?我还在Apple / iOS论坛中看到一个帖子PHAsset是新的,PHAsset已经过时了。

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

我是iOS新手(2个月),我可以看到ALAssetPHAsset均来自ALAsset

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

1 个答案:

答案 0 :(得分:4)

从参考文档中可以看出,这两个类来自两个不同的框架。

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

ALAsset来自原始的AssetsLibrary框架。

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

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

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