問題タブ [realm-cocoa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - レルム内のオブジェクトから LinkingObjects を削除するには?
レルム 1.0.0 の 2 つのモデル/オブジェクトがあるとします - ArticleMO と TagMO:
タグ付きのすべての記事を削除するにはどうすればよいですか?
私はもう試した:
しかし、次のようなエラーが発生します。
RLMArray が無効化されたか、含まれているオブジェクトが削除されました
オブジェクトを保存/デタッチしようとした後にオブジェクトを反復処理するなど、問題を回避するすべての試みは、同じエラーになります。私は何が欠けていますか?
swift - 事前に取得せずに Swift diff realm.io
realm.io (swift) で、ある「テーブル」からすべてのアイテムを選択して、他のテーブルにはない可能性があるかどうか疑問に思っていました。
2つのクラスがあるとしましょう:
id が B に存在しない A からアイテムの結果を取得することは可能ですか?
realm - Realm Swift の更新オブジェクトが機能しない
realm swift v1.0.0 を使用しています。オブジェクトを作成し、その値を永続的に更新したいと考えています。公式ガイドと、私が行ったstackoverflowに関するその他の回答に従ってください:
myrealm はグローバル変数です。
MyObjectClass のすべての値を回復すると、クラスの init に初期値が設定された myobject が返されます (初期値として設定した値は適切に保存されます) が、property1 は (null) です (次のように宣言されているため)オプションの文字列)。
しかし、上記のコードを記述した関数で myobject を見ると、その property1 は「test」に設定されていますが、Realm db に永続的に保存されていません。
property1の値が更新されない理由を誰かが教えてくれますか? 私もやろうとしました:
編集:
これは私のモデルです:
別の Realm オブジェクトである property2 でも同じ問題が発生します。
ios - removeObjects から RLMResults
RLMResults からオブジェクトを削除するにはどうすればよいですか? つまり、 NSMutableArray には次のような関数があります
[self.dogs removeAllObjects]
RLMResults または RLMArray にそのような関数はありますか?
ios - レルム - 間違ったスレッドからアクセスされたレルム Swift
私はレルムを初めて使用し、「間違ったスレッドからアクセスされたレルム」エラーを受け取ります。取得元と同じレルムのデータにアクセスする必要があることを読みました。ただし、オブジェクトに正常にアクセスできた後、このエラーが発生します。ここにいくつかのコードがあります:
このメソッドは、以下を使用してアプリケーションの配列を作成するメソッドを呼び出します。let array = Array(results)
次に、これを配列を設定するメソッドに渡します。
上記の方法では、配列を出力していますが、うまくいきます。ただし、サイクルの後半で、tableViewDatasource メソッド cellForRowAtIndexPath が呼び出されます。ここでは、applications 配列を使用しようとしていますが、アプリケーションが「不正なスレッド」エラーでクラッシュします。メソッドは次のとおりです。
ご覧のとおり、上記のメソッドに print ステートメントを追加しました。ここにアプリケーション配列を印刷しようとすると、クラッシュします。
設定している方法で印刷できるのに、なぜクラッシュするのですか?cellForRowAtIndexPath
メインスレッドで呼び出されたからですか?もしそうなら、どうすればtableView
このインスタンスで更新できますか? 乾杯。
========
編集:
で次のことを行うとcellForRowAtIndexPath
、空の結果が返されます。
編集2:
クロージャーでの保存を処理します。データが返されたときに使用してメインスレッドに戻そうとしましdispatch_async
たが、まだクラッシュしていました。ただし、これdispatch_async
を self.tableView.reloadData() を呼び出す直前に移動しました。クラッシュしなくなったのは良いことですが、データが常に利用できるとは限りません。ブレークポイントを使用して速度を落とすと、データが返されます。ただし、実行させただけではデータはありません。バックグラウンド スレッドに保存されたデータがメイン スレッドでいつ利用可能になるかを知る方法はありますか?
私が使用しているコードは次のとおりです。
データは常に存在するとは限りません。
編集3:
save メソッドを a でラップしたところ、dispath_async(dispath_get_main_queue())
正常に動作しました。
ios - レルム内のプロパティを編集した後にオブジェクトを削除すると、RLMException の理由が発生します:「インデックス 0 は範囲外です (0 未満である必要があります)」
ユーザーが習慣を追加し、データベースにswiftとrealmを使用してテーマを完成させることができる単純なアプリケーションを作成しています
状態を編集してオブジェクトを削除する場合を除いて、すべて正常に動作しています アプリケーションが RLMException の理由でクラッシュします: 'Index 0 is out of bounds (must be less than 0)'
これは、アイテムがtableViewの唯一のセルである場合にのみ発生することに気付きました
私は一日中苦労しているので、誰かがこれを手伝ってくれるとありがたいです
習慣オブジェクトは次のとおりです。
RealmSwift、SwiftFetchedResultsControllerを使用して、tableView、swift 2、および Xcode 7 を自動的に更新しています
MyHabitsViewController の TableViewController 関連コードは次のとおりです。
FetchedResultsControllerDelegate メソッド:
UITableViewDelegate & UITableViewDataSource
ios - swift 2.0 からの linkingObjectsProperties オーバーライド
Swift 2.0 プロジェクト (objective-c の相互運用性が必要) で realm-cocoa(v1.0.1) を使用しており、linkingObjectsProperties メソッドのオーバーライドに問題があります。
Realm のドキュメント ( https://realm.io/docs/objc/latest/#inverse-relationships ) に従い、次のように RLMObject サブクラスで関数のオーバーライドを定義しました。
コンパイラは、「メソッドはそのスーパークラスのメソッドをオーバーライドしません」と不平を言います。
定義の前に @objc を付けると、エラーは「セレクター 'linkingObjectsProperties' でメソッドをオーバーライドすると、互換性のない型 '() -> NSDictionary' があります」に変わります。
何か案は?
ありがとう!