'AppDelegate'没有名为'managedObjectContext'的成员

时间:2015-02-13 14:45:31

标签: xcode swift core-data

我一直在关注如何在swift中使用CoreData获取值的指南。我一直有错误'AppDelegate'没有名为'managedObjectContext'的成员。该指南使用的是XCode的Beta版本,这已经改变了,以及我如何解决我的问题的任何想法。

@IBAction func saveButtonPushed(sender: AnyObject) {
    var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
    var context:NSManagedObjectContext = appDel.managedObjectContext

    var newName = NSEntityDescription.insertNewObjectForEntityForName("SavedFills", inManagedObjectContext: context) as NSManagedObject
    newName.setValue("Test", forKey: "name")
    newName.setValue("Test2", forKey: "password")

    context.save(nil)

    println(newName)
    println("Saved")
}

1 个答案:

答案 0 :(得分:13)

不,它根本不应该改变。错误说出来了。 AppDelegate.swift文件中没有managedObjectContext。如果您按照教程进行操作,则managedObjectContext文件中应该有AppDelegate.swift。也许你错过了这一步。如果不是这种情况,您应该自己添加一个或复制它。

如果您想获得'标准'managedObjectContext,只需创建一个新的Swift项目并在创建过程中选中Use Core Data复选框:

New -> File->Project-> Master-Detailview Application-> Use Core Data

如果您不熟悉CoreData和Swift,请尝试使用raywenderlich中有关Swift和CoreData的教程。这很容易写得很好。