2016-09-28 99 views
0

我在Xcode中遇到过很多问题,但这只是开始发生在我所有的项目中。CoreData无法正确'创建NSManagedObject子类'Swift

我创建了一个新实体,我的核心数据模型选择了正确的“目标成员”。

但是,一旦我尝试选择我的新实体的“创建NSManagedObject子类”,向导正常需要我通过所有必要的步骤,我得到下面的产生斯威夫特代码:

import Foundation 
import CoreData 


class CoreDatGeneric: NSManagedObject { 

// Insert code here to add functionality to your managed object subclass 

} 


import Foundation 
import CoreData 


class CoreDatGeneric: NSManagedObject { 

// Insert code here to add functionality to your managed object subclass 

} 

但是...我不能用在我的代码名为CoreDatGeneric ANYWHERE这个新雨燕类...

例如,

let data = DoreDatGeneric()

导致编译器错误,指出Use of unresolved identifier 'CoreDatGeneric'

我不知道为什么会这样突然的,我所有的其他老核心数据实体工作得很好,但我被困在不能够的点在我的任何项目中使用核心数据。

我很担心升级到Xcode 8,因为最新的Xcode收到的负面评论。我现在正在使用Xcode 7。

+0

您确定'CoreDatGeneric.swift'属于Xcode中的应用程序目标吗?你也确定你正在拼写类名吗?你在你的问题中拼写错误.... –

回答

0

转到数据模型检查器面板并选择Codegen为'Manual/None'。在编辑器下创建托管子类。 Xcode将创建两个swift文件。一个是* Properties.swift,一个扩展文件,其中包含您模型中的所有属性(Xcode将在您创建子类的超时时间内覆盖此文件)。另一个是* Class.swift,您可以在其中添加自定义类行为。不写任何代码,你应该可以在你的ViewController中调用

let data = CoreDatGeneric() 

如果Codegen说'类定义',那么你不必做Create Managed Subclass,因为当你生成项目时这些类将会为你创建(这些文件不会出现在Project Inspector中)。不过,你仍然可以像上面在viewController中所写的那样创建一个变量(例如)。

相关问题