Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS编程中使用Swift创建实体文件?_Ios_Xcode_Core Data_Swift - Fatal编程技术网

如何在iOS编程中使用Swift创建实体文件?

如何在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

我想在基于Swift和Xcode 6的iOS应用程序中使用核心数据,因此我首先创建了
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

}