1

我正在將UIImage保存到核心數據。所以首先,我將它轉換爲NSData,然後保存它。獲取保存在CoreData中的NSData的URL

我需要獲取圖片保存後的URL。我這樣做是因爲我想用附件安排一個本地通知,唯一的方法就是使用URL,AFAIK。

這裏是我的代碼:

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

這就是我應該如何添加附件的通知:
UNNotificationAttachment.init(identifier: String, url: URL>, options: [AnyHashable : Any]?)

我保存圖像和手動調度通知用戶水龍頭時在一個按鈕上保存圖像。

如果您需要額外信息,請讓我知道。

+0

在本地保存圖像並將其url保存到CoreData –

回答

1

您無法獲取URL。如果您將此屬性配置爲使用外部存儲,則是的,技術上可能存在文件URL。也許。但沒有文件記錄的方式來獲取它,畢竟它可能不存在 - 因爲外部存儲設置不需要Core Data使用外部存儲,它只是允許它這樣做。

如果您沒有使用該設置,那麼從圖像保存爲SQLIte文件的一部分以來就沒有任何URL。

如果您需要圖像的文件URL,請將圖像另存爲與Core Data分開的文件,並將文件名保存爲實體屬性。然後,文件URL就是你保存文件的地方。

+0

謝謝,湯姆,我明白了。 – MEnnabah

+0

我將保存在Core Data中的數據推送到CloudKit,您認爲這是在通知中使用CKAsset的URL的正確方法嗎?如果這遠離主要問題,我很抱歉。 – MEnnabah

+0

我幾乎沒有使用CloudKit,所以我不能肯定地說。 –