领域生成模型

时间:2017-05-26 10:03:45

标签: ios swift3 realm

我一直关注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插件中一样。

3 个答案:

答案 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编辑器:

  1. RealmObjectEditor by Ahmed-Ali(以下描述来自github:)
  
      
  • 使用领域对象编辑器,您将能够:      
        
    • 创建领域实体。
    •   
    • 创建实体属性并为每个属性定义属性(主键,索引,忽略,默认值等)
    •   
    • 创建一对一,一对多和多对多关系。
    •   
    • 为每个实体设置一个perant类(对于基于可可的实体,默认值为RLMObject,对于Java实体,默认值为RealmObject)
    •   
    • 将设计的架构导出到Android的Swift,Objective-C或Java中。
    •   
  •   
  1. 陀螺仪 by NijiDigital(以下说明也来自github)
  
      
  • 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。