[APP開發-使用Swift] 19–2. Core Data 新增
3 min readOct 23, 2017
- 先將每個表單的欄位拉過去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()就可以將資料儲存囉!