【问题标题】:What is the difference between ALAsset and PHAsset?ALAsset 和 PHAsset 有什么区别?
【发布时间】:2015-11-16 01:40:06
【问题描述】:

今天早上我对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

【问题讨论】:

  • 我喜欢这个问题带有一个小故事。
  • 谢谢。 :) 当我发布这个问题时,我还是个新手 :) 我以前从未接受过培训。

标签: ios alasset phasset


【解决方案1】:

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

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

ALAsset 来自最初的 AssetsLibrary 框架。

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

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

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

【讨论】:

  • 是的!!!非常感谢您的澄清。 :) 现在我知道为什么我的老板说我的代码已经过时了。
猜你喜欢
  • 1970-01-01
  • 2010-10-02
  • 2011-12-12
  • 2010-09-16
  • 2012-03-14
  • 2012-02-06
  • 2011-02-25
  • 2011-11-22
  • 2015-03-26
相关资源
最近更新 更多