重點是 let imageData = UIImagePNGRepresentation(imageView.image!)
先把 image 轉換成 imageData, 才能存進去 core data.. coredata的這個欄位的type要選 binary data
@IBAction func postImageAction(_ sender: UIButton) {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let newPost = NSEntityDescription.insertNewObject(forEntityName: "Posts", into: context)
newPost.setValue(currentUser, forKey: "username")
newPost.setValue(messageTextField.text, forKey: "message")
let imageData = UIImagePNGRepresentation(imageView.image!)
newPost.setValue(imageData, forKey: "image")
do{
try context.save()
self.imageView.image = UIImage(named: "Placeholder-image.png")
self.messageTextField.text = ""
createAlert(title: "已上傳", message: "你的評論已經成功上傳")
}catch{
print("Could not save data.")
createAlert(title: "上傳失敗", message: "請用戶稍後再試")
}
沒有留言:
張貼留言