2017-05-26 2 views
1

Ich habe this Tutorial auf Realm gefolgt, und ich habe einen Block getroffen. So heißt es, ein Realm-Modell zu generieren, für das wir über Alcaraz ein Plugin in Xcode installieren müssen. Shinny.Realm generieren Modell

Jetzt ist das Problem, das ich gegenüberstelle, dass es in Xcode 8+ ist, dass es nicht erlaubt, irgendein externes plugin zu installieren (Nur jene, die Text so weit bearbeiten können, wie ich verstehen konnte).

Meine Frage ist, wie generiere ich Realm Model wie dieses Tutorial sagt, jetzt, dass Xcode 8+ keine externen Plugins unterstützt. Auch wenn es jetzt nicht möglich ist, wie soll ich diese Abbildung des Datenmodells angehen/lösen?

Ich habe nichts gefunden oder keine Lösung in Realms Git-Seite oder ihre Website. Jede Hilfe wird geschätzt.

Ich verwende Xcode 8.3.2 und ich arbeite an Swift 3.1

EDIT

Ich habe Realm installiert ist, bereits über cocoapods. Ich frage, ob es irgendeinen visuellen Generator wie Core Data xcdatamodel für Realm Data model gibt, wie zuvor im Xcode plugin.

+0

keine Notwendigkeit zu pluggen nur "pod 'Realm'" importieren Realm und erstellen Sie eine Klasse und sbclass mit RLMObject. –

Antwort

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") 
    } 

} 
+0

Bearbeitete die Frage. –

0

Es gibt keinen visuellen Modellgenerator für Realm. Selbst in dem Tutorial, das Sie verlinkt haben, wird solch eine Sache nicht erwähnt. Das XCode-Plugin erzeugt nur eine Skelett-Swift-Datei, die als Ihr Realm-Modell verwendet werden kann, es gibt keinen visuellen Generator.

Das visuelle Tool, das Sie in der Verknüpfung sehen, ist Realm Browser, aber es ist der Hauptzweck, Ihre Datenbankeinträge zu überprüfen, Sie können keine Modelle damit erstellen.

+0

Visual Browser Teil Ich bekomme es, Also ich nur eine schnelle Datei erstellen, bearbeiten Sie es durch Unterklasse es in eine beliebige 'Object' Klasse, die gar nicht existiert, und importieren Sie dann' RealmSwift', um den Kompilierfehler zu entfernen? Das muss ich jedes Mal anwenden? –

+0

Sie können Ihre Realm-Modelle in jeder SWIFT-Datei erstellen, Sie müssen sie nicht unbedingt in einer separaten Datei erstellen. Ich denke jedoch, dass es besser ist, alle Definitionen Ihres Realm-Modells in derselben Datei zu haben, zumindest für mich macht es die Dinge klarer. [Objekt] (https://realm.io/docs/swift/latest/api/Classes/Object.html) ist keine "willkürliche" Klasse, es ist die Basisklasse, die Realm benutzt, also ja, Sie müssen eine Unterklasse erstellen Object, wenn Sie eine Realm-Modellklasse erstellen möchten. Siehe [Realm-Modelle] (https://realm.io/docs/swift/latest/#models). –

Verwandte Themen