2017-11-24 13 views
0

私は自分のiOsアプリケーションを開発しており、Realmデータベースを使用しています。私はiOS開発(まもなく速くxcode)に全く慣れていないので、データの構造化に関する質問があります(私は既にいくつかの一般的なプロジェクト構造ガイドラインを読んでいますが、答えを見つけることはできませんでした)。realosデータベースを持つios swift models構造

@objcMembers class Patient: Object { 
    dynamic var patientId:Int = 0 
    dynamic var refNumber:String = "" 

    convenience init(id:Int, refNumber:String){ 
     self.init() 
     self.patinetID = id 
     self.refNumber = refNumber 
    } 
} 

は今、それだけで、JavaのPOJOクラスのようになります。私の考えは、私がこのようなモデルを作成したJava構造レルムデータベースの場合

(RealmSiwft)に接続されています。しかし、私が学んだように、このモデル構造はそのように作られており、それでRealmを使うことができます。

私のプロジェクトでPatientオブジェクトを使用する必要がある場合は、このRealm-POJOモデルを使用するとよいですか?つまり、データベース操作を行う必要がなくても、通常のモデルと同じように使うべきですか?データベースを使用しないでPatient.swiftのような別のモデルクラスを作成する必要があります。データベースに格納されない患者モデルで変数が必要な場合はどうすればよいですか?私は動的でなくてもかまいませんか? initよりも何ですか? ...それは私の知る限り学ぶよう迅速、それはとても醜いと構造化されていないようで、私の心を吹くか、私はまだそれに切り替えることはできません

+0

チェック更新の答えを、通常のコメントの代わりにマイナスを与えます。人々はあなたを助けようとします。 –

+0

まあ、誰にも駄目を言わなかったんだけど、なぜ駄目になったの?私はマイナスの男を与えるために十分な評判を持っていません –

+0

それは私もありません。誰かあなたの質問と私の答えが好きではない;) –

答えて

1

私が患者のオブジェクトを使用するように私のプロジェクトのどこかが必要な場合は、これは レルム-POJO-モデルは使いやすいですか? でも、データベース操作を行う必要はありませんか?

患者のオブジェクトを節約することなくDBに保存したり、別のコントローラーに移動したりすることができます。

データベースに格納されない患者モデルの変数が必要な場合はどうすればいいですか? データベースには何がありますか?

ignoredProperties()をご覧ください。

ダイナミックにすることはできますか?

Objective-Cオブジェクトに基づくレルムのためにできません。これは必須のタイプです。

initよりも何ですか?

Initialization docには、さまざまなコンストラクタメソッドを作成できます。

class Patient: Object { 

    // MARK: - Properties 
    @objc dynamic var patientId: Int = 0 
    @objc dynamic var refNumber: String = "" 

    // MARK: - Meta 
    // to set the model’s primary key 
    override class func primaryKey() -> String? { 
     return "patientId" 
    } 

    //Ignoring properties 
    override static func ignoredProperties() -> [String] { 
     return ["tmpID"] 
    } 

    //It's ok 
    convenience init(id:Int, refNumber:String){ 
     self.init() 
     self.patientId = id 
     self.refNumber = refNumber 
    } 
} 

あなたが見つけることができる他のすべての詳細情報を:レルムの場合には、あなたが注目の変数への設定値を(あなたがそれらをプロパティ値をデフォルト与えていない場合)必要があります

あなたのクラスには、次のようになります。 realm docs

また、あなたはあなたの迅速な拡張子を持つベースのコード拡張できます

extension Patient { 
    var info: String { 
     return "\(patientId) " + refNumber 
    } 

    func isAvailableRefNumber() -> Bool { 
     return refNumber.length > 6 
    } 
} 
+0

あなたの答えをありがとう。その大切なことについて - それは私ではなかった –

関連する問題