thisチュートリアルを読んだ後、以下を実行する最も効率的な方法を理解するためにいくつかの助けが必要です。iOS(Swift)シングルトンレルムオブジェクト
私のアプリを開くときには、Profile
オブジェクトを読み込む必要があります。アプリケーションの存続期間にはこれらのうちの1つだけが必要なので、私はそれをシングルトンに設定しました。
レルムは、データを保存して取得するのに最適な方法でした。さらに見ると、Realmsを使用するためにデータモデルを用意する必要があるようです。下に示すProfile.swiftにObject
を統合しようとして失敗した後、私はこの問題をどのように処理すべきかについていくつかの助けが必要です。 Profile
によって呼び出されて変更を取得して保存することができる2番目のクラスProfileDataModel
を作成するか、レルムObject
をシングルトンクラスに含める方法がありますか?
Profile.swift
class Profile {
//MARK: Singleton
static let sharedInstance = Profile()
//MARK: Properties
var characterName: String
var level: Int
//MARK: Init
private init() {
//TODO: Load from realms
self.characterName = "John Appleseed"
self.level = 50
}
//MARK: Helper Methods
static func save(){
//TODO: Save to Realm
}
}
私はそれをやるのに使う方法もそうです。より小さなアプリケーションでは、これはレルムにアクセスするコードを追跡する良い方法です。また、基盤となるデータベースを簡単に交換することもできます。必要な場合はコアデータ – brainray
@brainray現在、またはより大きなアプリでどうやってやっていますか? – sirvon
@ sirvonでは、このアプローチはすでにうまく動作しています。 または大きなプロジェクトでは、これがうまくいかない場合は、要求を処理する場所に直接書き込みブロックを使用できます。 データがフェッチされたときに、書き込みブロックでRealmに直接書き込み、UIを更新するために、各VCで領域オブジェクトの関連通知を追加して更新します。 https://realm.io/docs/swift/latest/#notifications –