Как я могу редактировать свои данные в Core Data Swift 5? - PullRequest
0 голосов
/ 31 марта 2020

Я разрабатываю приложение iOS контактов. Я не знаю, как использовать Core Data, но я немного научился и смог создать данные и отобразить их в виде таблицы. Но сейчас мне нужна помощь. Я ищу код, который запрашивает имя контакта в основных данных, чтобы проверить, существует ли этот контакт уже. Если это так, мне нужно отредактировать эти данные, если нет, мне нужно создать эти данные. Кто-нибудь может мне помочь?

Я использую этот простой код для создания данных:

let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext

let entity = NSEntityDescription.entity(forEntityName: "Contact", in: context)
let newEventWithTickets = NSManagedObject(entity: entity!, insertInto: context)

var name = contact.name
var email = contact.email

newEventWithTickets.setValue(name, forKey: "name")
newEventWithTickets.setValue(email, forKey: "email")

do {
    try context.save()
} catch {
    print("Failed saving")
}

1 Ответ

1 голос
/ 31 марта 2020

Подход, который вы можете рассмотреть, использует NSPredicate. По сути, вы создаете условия (имя и адрес электронной почты), чтобы зарегистрировать ваш managedContext, чтобы найти сущности, которые очень специфичны c.

Вот черновик того, как к нему подойти:

let fetchRequest = NSFetchRequest<>(entityName: )

        fetchRequest.predicate = NSPredicate(format:)

        do {
            data = try coreDataStack.managedContext.fetch(fetchRequest)
        } catch {
            print ("Did not fetch")
        }

Получив данные, используйте условное выражение для сравнения того, что было введено и что ваш запрос отправляет обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...