如何在iOS编程中使用Swift创建实体文件?
我想在基于Swift和Xcode 6的iOS应用程序中使用核心数据,因此我首先创建了如何在iOS编程中使用Swift创建实体文件?,ios,xcode,core-data,swift,Ios,Xcode,Core Data,Swift,我想在基于Swift和Xcode 6的iOS应用程序中使用核心数据,因此我首先创建了XXX.xcdatamodel文件,并在文件中添加了三个实体及其属性。但是,当我试图通过在Xcode菜单中按“编辑器”|“创建ManagedObject子类”创建NSManagedObject的子类时,生成的文件是Objective-C的.h和.m文件,而不是我想要的.swift文件 结果,当我试图运行模拟器时,我遇到了一个错误:NSFetchRequest无法找到实体名称“XXX”的NSEntityDescri
XXX.xcdatamodel
文件,并在文件中添加了三个实体及其属性。但是,当我试图通过在Xcode菜单中按“编辑器”|“创建ManagedObject子类”创建NSManagedObject
的子类时,生成的文件是Objective-C的.h
和.m
文件,而不是我想要的.swift
文件
结果,当我试图运行模拟器时,我遇到了一个错误:NSFetchRequest无法找到实体名称“XXX”
的NSEntityDescription,我想这是因为在我的项目中没有像XXX
这样的.swift
文件
那么,我如何创建一个基于上述
XXX.xcdatamodel
文件中定义的实体的NSManagedObject
子类呢?我不喜欢创建一个新的swift文件并手动逐个写入这些属性,因为每个实体上的属性数量超过40个。所以我想通过类似于我在Objective-C中使用的Xcode菜单自动创建它。我所做的是使用生成的.h和.m文件。要使实体类对swift可见,请将实体类标题的导入添加到桥接标题。在objective-c中,代码如下所示:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface Human : NSManagedObject
@property (nonatomic, retain) NSString *name;
@end
如文档中所述,swift处理所有基础组件,因此实际上很容易转换
import Cocoa
class Human: NSManagedObject {
@NSManaged var name : NSString
}
这是我第一次尝试的,但仍然得到相同的错误。您可以执行NSEntityDescription.insertNewObjectForEntityForName(“EntityName”,在managedObjectContext:managedObjectContext中)吗?
import Cocoa
class Human: NSManagedObject {
@NSManaged var name : NSString
}