問題タブ [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.

0 投票する
0 に答える
540 参照

swift - レルム内のオブジェクトから LinkingObjects を削除するには?

レルム 1.0.0 の 2 つのモデル/オブジェクトがあるとします - ArticleMO と TagMO:

タグ付きのすべての記事を削除するにはどうすればよいですか?

私はもう試した:

しかし、次のようなエラーが発生します。

RLMArray が無効化されたか、含まれているオブジェクトが削除されました

オブジェクトを保存/デタッチしようとした後にオブジェクトを反復処理するなど、問題を回避するすべての試みは、同じエラーになります。私は何が欠けていますか?

0 投票する
1 に答える
249 参照

swift - 事前に取得せずに Swift diff realm.io

realm.io (swift) で、ある「テーブル」からすべてのアイテムを選択して、他のテーブルにはない可能性があるかどうか疑問に思っていました。

2つのクラスがあるとしましょう:

id が B に存在しない A からアイテムの結果を取得することは可能ですか?

0 投票する
0 に答える
1973 参照

realm - Realm Swift の更新オブジェクトが機能しない

realm swift v1.0.0 を使用しています。オブジェクトを作成し、その値を永続的に更新したいと考えています。公式ガイドと、私が行ったstackoverflowに関するその他の回答に従ってください:

myrealm はグローバル変数です。

MyObjectClass のすべての値を回復すると、クラスの init に初期値が設定された myobject が返されます (初期値として設定した値は適切に保存されます) が、property1 は (null) です (次のように宣言されているため)オプションの文字列)。

しかし、上記のコードを記述した関数で myobject を見ると、その property1 は「test」に設定されていますが、Realm db に永続的に保存されていません。

property1の値が更新されない理由を誰かが教えてくれますか? 私もやろうとしました:

編集:

これは私のモデルです:

別の Realm オブジェクトである property2 でも同じ問題が発生します。

0 投票する
3 に答える
929 参照

ios - removeObjects から RLMResults

RLMResults からオブジェクトを削除するにはどうすればよいですか? つまり、 NSMutableArray には次のような関数があります

[self.dogs removeAllObjects]

RLMResults または RLMArray にそのような関数はありますか?

0 投票する
1 に答える
4350 参照

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())正常に動作しました。

0 投票する
1 に答える
884 参照

ios - レルム内のプロパティを編集した後にオブジェクトを削除すると、RLMException の理由が発生します:「インデックス 0 は範囲外です (0 未満である必要があります)」

ユーザーが習慣を追加し、データベースにswiftとrealmを使用してテーマを完成させることができる単純なアプリケーションを作成しています

状態を編集してオブジェクトを削除する場合を除いて、すべて正常に動作しています アプリケーションが RLMException の理由でクラッシュします: 'Index 0 is out of bounds (must be less than 0)'

これは、アイテムがtableViewの唯一のセルである場合にのみ発生することに気付きました

私は一日中苦労しているので、誰かがこれを手伝ってくれるとありがたいです

習慣オブジェクトは次のとおりです。

RealmSwiftSwiftFetchedResultsControllerを使用して、tableView、swift 2、および Xcode 7 を自動的に更新しています

MyHabitsViewController の TableViewController 関連コードは次のとおりです。

FetchedResultsControllerDelegate メソッド:

UITableViewDelegate & UITableViewDataSource

0 投票する
1 に答える
177 参照

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' があります」に変わります。

何か案は?

ありがとう!