Swift : Ne peut pas attribuer à “” en soi

Dans Swift, j'ai une propriété calculée appelé managedObjectContext: NSManagedObjectContext. lorsque j'essaie de l'initialiser comme:

var managedObjectContext: NSManagedObjectContext? {
    get {
        createManagedObjectContext()
        return self.managedObjectContext
    }
    set(newManagedObjectContext) {
        self.manageObjectContext = newManagedObjectContext
    }
}

func createManagedObjectContext() -> NSManagedObjectContext {

    if let coordinator = persistentStorageCoordinator() as NSPersistentStoreCoordinator!
    {
        self.managedObjectContext = NSManagedObjectContext()
        self.managedObjectContext!.persistentStoreCoordinator = coordinator

        NSNotificationCenter.defaultCenter().addObserver(self, selector: "handleBackgroundMOCDidSaveNotification:", name: NSManagedObjectContextDidSaveNotification, object: self.managedObjectContext)
    }

    return self.managedObjectContext!;
}

Je reçois un message d'erreur indiquant : Cannot assign to "managedObjectContext" in self.

Quelqu'un peut-il aider à résoudre ce problème?

Merci d'avance.

  • êtes-vous de la création d'une structure ou classe?
  • il a est la classe .
  • Pourriez-vous montrer le reste de la classe, ça pourrait aider.
  • Oui, s'il vous plaît montrer le setter pour votre propriété calculée comme un minimum
  • pourquoi vous voulez une propriété calculée? vous getter/setter suffit d'appeler lui-même.
  • Je le veux pour permettre nul aussi.
  • C'est ce que l' ? à la fin de la déclaration, dit - cette valeur peut être assignée
  • si vous ne souhaitez pas effectuer d'autres actions dans setter, mais l'attribution de la nouvelle valeur, vous n'avez pas besoin calculée définition pour la managedObjectContext.

InformationsquelleAutor keshav | 2014-07-07