2017年3月21日 星期二

上傳圖片和評論到coredata



重點是     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: "請用戶稍後再試")
        }

        

沒有留言:

張貼留言