【问题标题】:iOS writing to asset library observationsiOS 写入资产库观察结果
【发布时间】:2011-05-13 02:33:27
【问题描述】:

我正在尝试编写一个从资产库中读取图像、修改图像的 GPS 数据并将其写回资产库的应用程序。我通过“枚举资产”方法将资产存储在 mutableArray 中。关于如何执行各个步骤的大部分细节,我是从搜索这个论坛中获得的。谢谢!

我发现当我通过“writeimagedatatosavedphotosalbum”方法编写第一个“资产”时,与资产 URL 关联的 mutableArray 的所有元素都变为空。此外,我注意到写回图像并不会替换原始图像,而是创建图像的第二个实例。

只是想我会传递这些结果,以防其他人有问题。而且,当然,我会对其他人的 cmets、观察等感兴趣。

这个论坛为我提供了很多信息。再次感谢。

【问题讨论】:

    标签: alasset


    【解决方案1】:

    您的 ALAsset 对象仅在您的 ALAssetsLibrary 对象存在的时间段内有效。当您获得 ALAsset 时,您要么需要在完成块中做任何你想做的事情,要么将 ALAssetsLibrary 存储在一个实例变量中,这样ARC 就不会释放它。

    【讨论】:

      【解决方案2】:

      ALAsset 本质上是一个 Core Data 对象,它可以从多个线程访问属性,但 NSManagedObjectNSManagedObject 的子类没有没有父 NSManagedObjectContext 就有意义,就像没有 ALAssetsLibrary 的 ALAsset 没有意义一样。

      NSManagedObjectContext 存储在 AppDelegate 上是常见的做法;虽然我将该功能抽象为包装器/单例,但在整个应用程序生命周期中都会保留对 NSManagedObjectContext 的引用。对 ALAssetsLibrary 应用相同的逻辑,一切都会按预期进行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-12
        • 1970-01-01
        • 2013-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多