Swift: Aktualisiert und erhielt den Fehler: “cannot invoke '!=' mit dem argument-Liste geben.."

Alles war in Ordnung in Xcode beta 5 aber nun in vollwertiges Xcode bin ich immer 2 ähnliche Fehler in meiner App Delegate:

  1. "cannot invoke '!=' with argument list of type '(NSManagedObjectContext, NilLiteralConvertible')"

  2. "cannot invoke '!=' with argument list of type '(NSPersistentStoreCoordinator, NilLiteralConvertible')"

Ich versucht, anstelle des != mit !== und ich bekomme eine andere Fehlermeldung. Ich sehe nicht, was das problem ist mit !=.
Der code:

func saveContext () {
        var error: NSError? = nil
        let managedObjectContext = self.managedObjectContext
        if managedObjectContext != nil { //THIS LINE
            if managedObjectContext.hasChanges && !managedObjectContext.save(&error) {
                //Replace this implementation with code to handle the error appropriately.
                //abort() causes the application to generate a crash log and terminate.
                //println("Unresolved error \(error), \(error.userInfo)")
                abort()
            }
        }
    }

    //#pragma mark - Core Data stack

    //Returns the managed object context for the application.
    //If the context doesn't already exist, it is created and bound to the persistent store coordinator for the application.
    var managedObjectContext: NSManagedObjectContext {
        if _managedObjectContext !== nil {
            let coordinator = self.persistentStoreCoordinator
            if coordinator != nil { //THIS LINE
                _managedObjectContext = NSManagedObjectContext()
                _managedObjectContext!.persistentStoreCoordinator = coordinator
            }
        }
        return _managedObjectContext!
    }
    var _managedObjectContext: NSManagedObjectContext? = nil

Habe ich einen neuen Fehler: "'NSManagedObjectContext?' does not have a member named 'hasChanges'"
In diesem code:

func saveContext () {
        var error: NSError? = nil
        let managedObjectContext = self.managedObjectContext
        if managedObjectContext != nil {
            if managedObjectContext.hasChanges && !managedObjectContext.save(&error) { //This line
                //Replace this implementation with code to handle the error appropriately.
                //abort() causes the application to generate a crash log and terminate.
                //println("Unresolved error \(error), \(error.userInfo)")
                abort()
            }
        }
    }
  • Ich glaube, es ist der type NSManagedObjectContext
InformationsquelleAutor skyguy | 2014-09-20
Schreibe einen Kommentar