Update for Xcode 8:

在Xcode 8中,需要转到核心数据模型编辑器并显示文件判断器.底部附近有一个代码生成选项. Select Swift.

Edit:我找到了从核心数据实体生成Swift模型的解决方案:

在Xcode上:

Editor > Create NSManagedOjbect > Click button "Next" > Click button "Next" > Select "Swift" Langage > Click button "Create"


我try 了Swift langage,使用核心数据在Xcode 6 beta上创建了一个新的Swift项目.

当我从核心数据的实体生成模型时,Xcode会创建Objective-C模型.

有没有办法生成Swift模型,而不是使用核心数据生成OBEJCIVE-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

Swift

Xcode6测试版中已经包含的文档说明:

核心数据提供NSManagedObject类子类中属性的底层存储和实现.在托管对象子类中与核心数据模型中的属性或关系对应的每个属性定义之前添加@NSManaged属性.与Objective-C中的@dynamic属性类似,@NSManaged属性通知Swift编译器将在运行时提供属性的存储和实现.然而,与@dynamic不同,@NSManaged属性仅适用于核心数据支持.

这就是我为Swift(未经测试)重写上述示例的方式:

Person.swift

import CoreData

class Person: NSManagedObject {

    @NSManaged var name : NSString

}

根据你的问题,我认为子类生成功能可能还没有包含在Xcode6中.在Xcode中创建Cocoa项目时,您是否确保 Select 了"Swift"作为编程语言?

Swift相关问答推荐

在swift静态var扩展中,如何或可以访问和返回具体类?

是否在字符串属性上搜索数组和子数组?

查找数组中 ** 元素 ** 的属性的最小值和最大值

Result类型的初始值设定项失败?

在 SwiftUI 视图中观察 UIViewRepresentable 的 @State var 变化

无法使用 RealityKit 播放 USDZ 动画

并发执行代码中捕获的 var 的变异

SwiftUI:当先前的视图列表更改时,NavigationView 详细视图会弹出回栈

Xcode:方法参数的代码完成

What is "SwiftPM.SPMRepositoryError error 5"?

如何防止 UITableViewCell 移动(Swift 5)

FirebaseStorage:如何删除目录

如何从元组数组创建字典?

Swift 3.0 的 stringByReplacingOccurencesOfString()

Swift 3:日期与 NSDate?

将活动指示器 colored颜色 更改为黑色

如何发送静默推送通知有效负载

在 Swift 中覆盖 UIScrollView 的委托属性(就像 UICollectionView 一样)

类型myViewController不符合 Swift 中的协议 UIPIckerDataSource

如何使用 Swift 将文本文件逐行加载到数组中?