Open masakazozaki opened 2 years ago
@youmi-ngs この辺が使えそう
@IBAction func addTapped(sender: AnyObject) {
do {
let book = NSEntityDescription.insertNewObjectForEntityForName("Book", inManagedObjectContext: fetchedResultsController.managedObjectContext) as! Book
book.publisher = "早川書房"
book.title = "虐殺器官"
book.price = 583
try fetchedResultsController.managedObjectContext.save()
} catch {
print(error)
abort()
}
}
@IBAction func updateTapped(sender: AnyObject) {
let fetchRequest = NSFetchRequest(entityName: "Book")
let predicate = NSPredicate(format: "publisher=%@", "早川書房") //削除するオブジェクトの検索条件
fetchRequest.predicate = predicate
do {
let books = try managedObjectContext.executeFetchRequest(fetchRequest) as! [Book]
for book in books {
book.title = "★" + book.title
}
try fetchedResultsController.managedObjectContext.save()
} catch {
print(error)
}
}
@IBAction func deleteTapped(sender: AnyObject) {
let fetchRequest = NSFetchRequest(entityName: "Book")
let predicate = NSPredicate(format: "publisher=%@", "早川書房") //削除するオブジェクトの検索条件
fetchRequest.predicate = predicate
do {
let books = try managedObjectContext.executeFetchRequest(fetchRequest) as! [Book]
for book in books {
fetchedResultsController.managedObjectContext.deleteObject(book)
}
try fetchedResultsController.managedObjectContext.save()
} catch {
print(error)
}
}
これでCRUDいける気がしてきた
DataManagerにある程度処理を書いて,それをViewControllerに呼び出す形がいいと思う
https://swift-study.com/coredata-nsfetchedresultscontrollerdelegate/
保存も前みたQiitaの記事のやり方じゃなくてこっちの方が自然かもしれん.全部やり直した方が早いかも
これ絶対やろう.絶対終わらせよう