問題タブ [afincrementalstore]
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.
ios - AFIncrementalStore のパフォーマンスの問題
AFIncrementalStore を試していますが、これは素晴らしいですが、パフォーマンスに問題があることに気付きました。
具体的には、Facebook グラフ API から多数の Facebook 友達情報を取得するために使用していますが、保存操作のクロックタイムがかなり遅いことがわかります。コンテキストとして、約 900 レコードを読み込んでいます。インスツルメンツは、問題の行はこれであると私に言っています:
これはこれを呼び出します
より大きなデータ セットで AFIncremental ストアを使用した経験がある人はいますか?
私がよく理解していない他の何かはperformBlockAndWait
、PrivateQueueConcurrencyType のコンテキストからの操作を使用してすべてが開始されるときに、このすべてのアクションがメインスレッドで発生する理由です。どんな助けでも大歓迎です!
objective-c - AFIncrementalStore には NSMainQueueConcurrencyType コンテキストが必要ですか?
SQLite
バッキング ストアを使用するリポジトリ内のサンプル コードに従って、AFIncrementalStore をアプリに組み込む作業を行ってきました。すべての例で、シングルトンの managedObjectContext とNSMainQueueConcurrencyType
.
このモックを使用して、フェッチを実行し、それがネットワークからプルされ、sqlite バッキング ストアに格納されることを確認できます。を使用するように変更しようとしましたがNSPrivateQueueConcurrencyType
、ネットワーク リクエストは表示されますが、SQLite
バッキング ストアには何も保存されませんでした。ただし、このモックをメイン キューの同時実行で残し、そこから子を作成し、そのモックを使用すると、すべてが正常に保存されます。
自分の理解に何かが欠けているかどうかを知りたかったのです。メイン キューの同時実行性を親コンテキストとして (プライベート キュー コンテキストを使用するバッキング ストアを使用して) モックを使用しない例を見つけることができないようですが、同時に、これがが必要か、またはプライベート キュー コンテキストを使用する場合とスタックにメイン キュー コンテキストがある場合に変更を手動で親にプッシュするために何かをする必要があるかどうか。
core-data - NSFetchedResultsController または NSArrayController なしで AFIncrementalStore を使用する
NSFetchedResultsController または NSArrayController なしでデータをフェッチしようとしています。問題は、AFIncrementalStore の非同期の性質により、常に古いデータ (フェッチされていない場合はデータがない) のデータを取得していることです。
この問題を処理するための推奨される方法はありますか?
ios - AFIncrementalStore を使用して NSManagedObject とバインドする方法
使い方の詳細を探していますAFIncrementalStore
。それを段階的に実装する方法を知る必要があります。
私が正しく理解していればAFIncrementalStore
、それはサーバーからデータを取得するためのレイヤーであり、データモデルをマッピングするためのものです。私は正しいですか?
そのため、ローカル モデルにマッピングする必要がある URL はほとんどありません。それらはすべて GET リクエストを使用します。
例base_url/api/categories
応答として次の文字列を取得します。
では、AFIncrementalStore を使用してローカル データベースをこのデータにバインドするにはどうすればよいでしょうか。また、使用に関連する応答文字列に関係があることがわかる場合。ユーザーの配列には、コンサート ユーザーに対応する ID が含まれます。したがって、2 番目の質問は、モデルが関係を持たなければならないことをどのように指摘するかだと思います。
ios - AFIncrementalStore のキャッシュに項目を「手動で」挿入できますか?
ネットワーク経由で JSON サービスからオブジェクトを取得するようにAFIncrementalStoreをセットアップし、そのpersistentStore を SQLite データベースに設定しました。これはすべてうまくいきます。
今私がしたいことは、その SQLite データベースに帯域外 (AFIncrementalStore が指している Web サービス以外のものから) にオブジェクトを追加し、それらの追加を、元のマネージド オブジェクト コンテキストから作成されたフェッチされた結果コントローラーに反映させることです。 .
元の MOC を親として管理オブジェクト コンテキストを作成しました。それにオブジェクトを追加すると、フェッチされた結果コントローラによって表示されます。しかし、AFIncrementalStore の SQLite データベースには保存されません。興味深いことに、AFIncrementalStore はこれらのオブジェクトを JSON サービスに保存しようとしていて、正しいエンドポイントが存在しないと不平を言っているため、これらのオブジェクトを認識しています (これをオーバーライドrequestForInsertedObject:insertedObject
して returnに修正しましnil
た)。
私がこれを達成する方法を知っている人はいますか?
core-data - AFIncrementalStore with Parse
多対多の関係、ローカル永続性、およびユーザー インタラクションを備えた iOS 上のソーシャル アプリを開発しています。私は iOS でネイティブの Parse API を使用しようとしましたが、すべてのクライアント サーバー ロジックを実行するには面倒すぎることがわかりました。そこで私の焦点は、同期ソリューションを見つけることに移りました。
いくつかの調査の結果、AFIncrementalStore は非常に使いやすく、CoreData に高度に統合されていることがわかりました。私はこれに取り組み始めたばかりで、2 つの質問があります。
1) 認証プロセスはどのように行うのですか? それはAFRESTClientにありますか?2) Parse の REST API と一致するように AFRESTClient を設定する方法は? (例は素晴らしいでしょう!)
PS 別の解決策と思われる FTASync も見つけました。このフレームワークについて何か考えはありますか?
クライアントとサーバーの同期ソリューションに関する一般的な提案は、高く評価されます。
ありがとう、
レイ・チャン