Beginning SwiftUI by Lim Greg

Beginning SwiftUI by Lim Greg

Author:Lim, Greg [Lim, Greg]
Language: eng
Format: epub
Published: 2021-03-18T16:00:00+00:00


do {

try viewContext.save()

} catch {

let error = error as NSError

fatalError("unresolved error:\(error)")

}

}

We loop through the indexes that ought to be deleted, retrieve the exact ManagedObject at that index and call the Managed Object Context’ s delete() . After the for loop, we save the Core Data context.

Running your App

When you run your app now, upon swiping the cells to the left and hitting the red Delete button, the todos will be permanently deleted.

Updating in Core Data

We will go through the essential code to perform an update in Core Data. Let’ s allow the user to add a smiley face on to the todo name whenever she does a long press gesture on a todo, indicating that the todo is done.

Add a .onLongPressGesture modifier on the NavigationLink :

NavigationLink(destination:

…

}.onLongPressGesture(perform: {

updateTodo(todo: todo)

})

Create a function updateTodo with the following code:

private func updateTodo(todo: FetchedResults<TodoCD>.Element){

todo.name = " �� " //press control+commmand+space for emoticon editor

do {

try viewContext.save()

} catch {

let error = error as NSError

fatalError("unresolved error:\(error)")

}

}

As you can see, updating a Managed Object in Core Data involves just retrieving it, changing the value of its properties and then saving the context. You can extend this to updating the todo’ s name and category.

Running your App

When you run your app and do a long press on a todo , the name will change to a smiley face (fig. 5)! And all these data are kept persistent.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.