Swift 3 iOS10 core-Daten-überprüfen, ob Datensatz bereits vorhanden ist base auf id

Bin ich, eine app zu entwickeln mit neuen CoreData-und Swift3 auf iOS10. Wie schaffen wir neue Objekt nur dann, wenn die id nicht vorhanden ist (wenn das Objekt bereits vorhanden ist, ziehen wir out-Objekt aus Stammdaten und ändern Sie es nur)?

Etwas wie

let objectID = someNumber

If exist with objectID = someNumber {
   //modify object
}else {
   //create new object
   //assign attribute
}

//save

Ich versuche, die neue iOS10 Swift 3 syntax für CoreData. Ich bin mit nativem code nicht mit jedem 3rd-party-Bibliothek. Überlegen Sie sich Holen, wissen aber nicht, was ist die richtige syntax für diese Aufgabe.

Update: Dank @Jan ich habe den Weg gefunden um das zu überprüfen. meine update Frage ein bisschen ist das erstellen oder aktualisieren einer Person von bestimmten JSON. Hier ist meine Funktion

static func creatOrUpdateArticle(_ json: JSON, context: NSManagedObjectContext) ->Article {

        var article: Article

        let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Article")
        let predicateID = NSPredicate(format: "id == %@",json[Key.id].stringValue)
        fetchRequest.predicate = predicateID

        do {

            let results = try context.fetch(fetchRequest)
            if results.count > 0 {
                article = results.first as! Article
            }else {
                article = Article(context: context)
            }

            article.webUrl = json[Key.webUrl].string


        }
        catch let error {
            print(error.localizedDescription)
        }
        return article
    }

Ich bin immer der Fehler: "variable Artikel wird verwendet, bevor er initialisiert". Wie können wir eine Funktion, einen Artikel zurückzusenden oder zu aktualisieren, vorhandene und Ergebnisse zurück?

Schreibe einen Kommentar