我一直在关注如何在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")
}
答案 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的教程。这很容易写得很好。