我一直关注Realm上的this教程,我遇到了障碍。 所以它说生成一个Realm模型,我们必须通过Alcaraz在Xcode中安装一个插件。闪亮。
现在我遇到的问题是,在Xcode 8+中,它不允许安装任何外部插件(只有那些可以编辑文本的内容,据我所知)。
我的问题是,如何生成Realm Model,就像本教程所说的那样,现在Xcode 8+不支持外部插件。此外,如果现在不可能,那么我应该如何处理/解决这种数据模型的映射。
我在Realms git页面或他们的网站上找不到任何解决方案。 任何帮助表示赞赏。
我正在使用Xcode 8.3.2,我正在使用Swift 3.1
我已经通过cocoapods安装了Realm。我问如果有像Core Data xcdatamodel这样的可视化生成器,对于Realm Data模型,就像之前在Xcode插件中一样。
答案 0 :(得分:0)
You can use CocoaPods
add following to pods file and install -pod install
pod 'Realm', git: 'https://github.com/realm/realm-cocoa.git', branch: 'master', submodules: true
pod 'RealmSwift', git: 'https://github.com/realm/realm-cocoa.git', branch: 'master', submodules: true
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
then , Create model class as following
import Foundation
import UIKit
import RealmSwift
import Realm
class ClassName: Object{
required init(value: Any, schema: RLMSchema) {
super.init(value : value,schema:schema)
//fatalError("init(value:schema:) has not been implemented")
}
required init() {
super.init()
//fatalError("init() has not been implemented")
}
required init(realm: RLMRealm, schema: RLMObjectSchema) {
super.init(realm:realm , schema:schema)
//fatalError("init(realm:schema:) has not been implemented")
}
}
答案 1 :(得分:0)
Realm没有可视化模型生成器。即使在你链接的教程中,也没有提到这样的事情。 XCode插件只生成一个可用作Realm模型的骨架Swift文件,没有可视化生成器。
您在链接中看到的可视化工具是Realm Browser,但其主要目的是检查您的数据库条目,您无法使用它创建模型。
答案 2 :(得分:0)
现在有一些Visual Realm编辑器:
- 使用领域对象编辑器,您将能够:
- 创建领域实体。
- 创建实体属性并为每个属性定义属性(主键,索引,忽略,默认值等)
- 创建一对一,一对多和多对多关系。
- 为每个实体设置一个perant类(对于基于可可的实体,默认值为RLMObject,对于Java实体,默认值为RealmObject)
- 将设计的架构导出到Android的Swift,Objective-C或Java中。
- Gyro是一个工具,可从.xcdatamodel文件为Android(Java和Kotlin)和iOS / macOS(Swift)生成Realm模型类。
.xcdatamodel文件通常用于以图形方式表示Xcode中的Core Data实体。可以使用创建或编辑它 Xcode中的图形用户界面。
但是使用Gyro,您现在还可以使用xcdatamodel创建Realm模型文件!
这将允许您以可视方式(而不是通过代码)设计模型,而只需一次(而不是Android一次, iOS),并为您生成代码。
RealmObjectEditor看起来很有前途。 GYRO需要模型文件... 尝试一下,让我知道是否有帮助...
编辑:似乎RealmObjectEditor是用swift 2编写的。需要更新到至少swift 3才能使用它...太糟糕了……有人使用XCode 8吗? (错误消息:目标“领域对象编辑器”包含使用Swift 2.x开发的源代码。此版本的Xcode不支持构建或迁移Swift 2.x目标。使用Xcode 8.x将代码迁移至雨燕3。)