Xcode 8更新:
在Xcode 8中,需要转到Core Data Model Editor并显示File Inspector。底部附近是代码生成的选项。选择快速。
编辑 :我找到了从核心数据实体生成Swift模型的解决方案:
在Xcode上:
编辑器 >创建NSManagedOjbect>单击按钮“下一步”>单击按钮“下一步”>选择“快速”语言>单击按钮“创建”
我使用Core Data在Xcode 6 beta上创建了一个新的Swift项目,从而尝试了Swift语言。
当我从核心数据的实体生成模型时,Xcode会创建Objective-C模型。
有没有一种方法可以使用Core Data生成Swift模型而不是Obejctive-C模型?
谢谢 !
让我们看一下Objective-C的方式:
Person.h (头文件)
#import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @interface Person : NSManagedObject @property (nonatomic, retain) NSString *name; @end
Person.m (实施文件)
#import "Person.h" @implementation Person @dynamic name; @end
Xcode6-Beta中已经包含的文档说:
核心数据在NSManagedObject类的子类中提供了属性的基础存储和实现。在托管对象子类中与Core Data模型中的属性或关系相对应的每个属性定义之前,添加@NSManaged属性。类似于Objective-C中的@dynamic属性,@ NSManaged属性通知Swift编译器将在运行时提供属性的存储和实现。但是,与@dynamic不同,@NSManaged属性仅可用于Core Data支持。
因此,这就是我将上述示例重写为Swift的方式(未经测试):
人智
import CoreData class Person: NSManagedObject { @NSManaged var name : NSString }
根据您的问题,我认为Xcode6中可能还不包含子类的生成功能。在Xcode中创建Cocoa-Project时,是否确定已选择“ Swift”作为编程语言?