获取 CoreData 中保存的 NSData 的 URL

MEn*_*bah 2 core-data ios swift unnotificationattachment usernotificationsui

我正在将 UIImage 保存到 Core Data 中。所以首先,我将其转换为 NSData,然后保存。

我需要在保存图像后获取该图像的 URL。我这样做是因为我想安排一个带有附件的本地通知,据我所知,唯一的方法就是使用 URL。

这是我的代码:

//my image:  
var myImage: UIImage?
var imageData: NSData?
    if let image = myImage {
    imageData = UIImageJPEGRepresentation(image, 0.5)! as NSData
}
myEntity.setValue(imageData, forKey: "image")
Run Code Online (Sandbox Code Playgroud)

这就是我应该向通知添加附件的方式:
UNNotificationAttachment.init(identifier: String, url: URL>, options: [AnyHashable : Any]?)

当用户点击按钮保存图像时,我正在保存图像并手动安排通知。

如果您需要额外信息,请告诉我。

Tom*_*ton 6

您无法获取网址。如果您将此属性配置为使用外部存储,那么从技术上讲,可能存在文件 URL。或许。但没有记录的方法来获取它,而且无论如何它可能根本不存在 - 因为外部存储设置不要求 Core Data 使用外部存储,它只是允许它这样做。

如果您没有使用该设置,则永远不会有任何 URL,因为图像被保存为 SQLite 文件的一部分。

如果您需要图像的文件 URL,请将图像与 Core Data 分开保存到文件中,并将文件名保存为实体属性。那么文件 URL 就是您保存文件的位置。