键入忽略全局范围的方法?

时间:2015-06-14 18:11:49

标签: ios xcode swift

我正在尝试编写一个方便的方法来在CoreData中创建新的对象类型。我将managedObjectContext在全局级别定义在另一个文件中。

这就是我的代码:

class Room: NSManagedObject {

    class func createNew() -> NSManagedObject {
        return NSEntityDescription.insertNewObjectForEntityForName("Room", inManagedObjectContext: managedObjectContext!) as? NSManagedObject
    }
}

我打电话给managedObjectContext我收到错误。它说

  

Room.Type没有名为managedObjectContext的属性

然而,这不是我想要查找这些数据的地方。它甚至出现在自动完成中,然后在完成后才会中断。

1 个答案:

答案 0 :(得分:1)

问题是NSMangedObject有一个实例属性 同名managedObjectContext(你当然不能 从类型方法访问。)

重命名全局变量应该可以解决问题,或者你可以 使用您应用的显式模块名称来引用它:

YourAppModuleName.managedObjectContext