swift : Cannot assign to "" in self

标签 swift

在 Swift 中,我有一个名为 managedObjectContext: NSManagedObjectContext 的计算属性。当我尝试像这样初始化它时:

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!;
}

我收到一条错误消息:无法自行分配给“managedObjectContext”

谁能帮忙解决这个问题?

提前致谢。

最佳答案

当您尝试为 let 常量赋值时,您也会收到此编译错误。在这种情况下,将变量的类型更改为 var 应该可以解决问题。

关于 swift : Cannot assign to "" in self,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24603064/

相关文章:

ios - 如何使用 Swift 3 将单例与 Alamofire 一起使用?

swift - CATextLayer NSBackGroundColorAttributeName 有没有办法让它工作?

ios - 这些闭包中的保留周期有什么区别?标准闭包与对象初始化闭包

ios - 后台上下文保存导致 NSFetchedResultsController didChange anObject 调用 .delete 而不是 .update

swift - 如何使用 iPadOS 多窗口 (SceneDelegate) 获取 rootViewController?

ios - xcode 6 未在 Storyboard 中显示 View

arrays - 将 tableView 内容保存到 NSUserDefaults Swift

ios - 泛型函数声明抛出错误

swift - 使用 Swift,是否可以使用 UIAlertController 提示用户打开位置设置?

xcode - 无法将类型 [AnyObject] 的值转换为预期参数类型 [SKAction]