从NSURL获取Swift PHAsset

3

我正在使用Swift处理PHAsset和NSURL相关的内容。我有一个图片url,例如file:///var/mobile/Media/DCIM/100APPLE/IMG_0043.JPG

如何在Swift中将此NSURL转换为PHAsset?


请查看此链接:https://dev59.com/514b5IYBdhLWcg3wzUfa - Anbu.Karthik
1个回答

7

PHAsset对象代表在照片应用程序中显示的图像或视频文件,包括iCloud照片内容。要显示或编辑资产,请使用PHAsset类获取要处理的照片或视频的资产对象。资产对象是不可变的,仅包含所表示的照片或视频的元数据。

因此,您无法创建PHAsset对象。这里只有一个用于创建对象的构造函数。

let asset   =   PHAsset()

NSURL没有构造函数:

我们通常使用以下方式:

let imgData = NSData(contentsOfURL: (NSURL(string: "file:///var/mobile/Media/DCIM/100APPLE/IMG_0043.JPG"))!)
let image = UIImage(data: imgData!)

我在这里找到了一个解决方案,https://dev59.com/514b5IYBdhLWcg3wzUfa#28666212。所以这是可能的,对吧? - Sazzad Hissain Khan
@Sazzad Hissain Khan 如果用户有成千上万张图片,这将需要很长时间。 - zaheer
@SazzadHissainKhan,如果用户在他的相册中有这张照片,那么这是可能的。但是,如果您从Web获取URL,则很有可能该照片不在用户的相册中。或者您必须先将照片从URL保存到用户的相册中。这是完全低效的。 - Denis Markov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接