[APP開發-使用Swift] 19–2. Core Data 新增

Chiwen Lai
3 min readOct 23, 2017

--

  1. 先將每個表單的欄位拉過去Controller建立Outlet

2. 拖拉一個Bar Button Item到新增餐廳導覽列中,選擇Save。

3. 從新增的Button增加一個Action「saveRestaurant」

4. 將以下程式碼加到saveRestaurant裡:

@IBAction func saveRestaurant(_ sender: Any) {    if let appDelegate = (UIApplication.shared.delegate as? AppDelegate) {
restaurant = RestaurantMO(context: appDelegate.persistentContainer.viewContext)
restaurant.name = nameTextField.text
restaurant.type = typeTextField.text
restaurant.location = addressTextField.text
if let restaurantImage = photoImageView.image {
if let imageData = UIImagePNGRepresentation(restaurantImage) {
restaurant.image = NSData(data: imageData)
}
}
appDelegate.saveContext()
}
}
  • 記得我們說過,利用UIApplication.shared.delegate as? AppDelegate 就可以取用AppDelegate裡的物件嗎?我們已在AppDelegate宣告了persistentContainer,這時候就可以拿來用囉!
  • 利用RestaurantMO(context:)初始化物件,再把View的欄位資料放進去。
  • 最後利用我們在AppDelegate宣告的方法saveContext()就可以將資料儲存囉!

>>>19–3. Core Data 查詢

--

--