問題タブ [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.
ios5 - RestKitとAFIncrementalStoreの違い
iOSアプリで、(RESTful)サーバーからデータを取得して投稿しようとしています。RestKitとAFIncrementalStoreの両方が良い候補だと思います。ただし、データをオフラインで保存し、アプリがオンラインのときにサーバーにプッシュできるようにする必要もあります。
私は、アプリケーションに使用するのにどちらがより良いフレームワークであるかを理解しようとしています。
また、一部のオンラインリソースから、AFIncrementalStoreで障害を使用すると、プロパティを取得するためのネットワークリクエストを提供しているときに、ManagedContext(通常はmainThread)を処理するスレッドがスタックする可能性があるようです。大したことですか?
PS:afincrementalstoreタグが利用できないため、afnetworkingタグを追加します
core-data - CoreDataを遅延ロードto-1の関係に設定します
私はAFIncrementalStoreを使用してiOSアプリケーションをRESTAPIに接続しています。Events
最初のViewControllerをロードするときに、最新の100 (NSManagedObjects)をビューにロードするNSFetchRequestを作成します。問題は、それぞれEvent
がオブジェクトと1:1の関係にありGroup
、が読み込まれるとすぐにEvent
、インクリメンタルストアがそのオブジェクトを埋めるように求められることですGroup
。これにより、私の場合、100ごとにサーバーへの個別のリクエストがトリガーされますEvents
。
この問題を解決する方法はいくつかあります。たとえばGroups
、サーバーが既にローカルに保存されている場合はサーバーから要求しない、ネットワーク要求をキャッシュする、NSManagedObjectに関係を保存しないなどです。しかし、理想的には、Group
オブジェクトは障害として開始し、1対多の関係で発生するのと同様に、フィールドの1つにアクセスしたときにのみ入力を要求できます。残念ながら、コアデータの1対1の関係を遅延ロードする方法を説明しているドキュメントは見つかりません。出来ますか?
iphone - 認証トークンで AFIncrementalStore を使用する
私はApp.netの iOS クライアントに取り組んでおり、 AFIncrementalStoreを使用して、Web サービスをアプリの Core Data 実装と同期させたいと考えています。
認証トークンを必要としない API 要求に対して 2 つが機能するようになりましたが、AFIncrementalStore で認証トークンを使用する方法がわかりません。
つまり、認証を必要としないため、グローバル フィードをプルダウンできます。
https://alpha-api.app.net/stream/0/posts/stream/global
...ただし、ユーザーのストリームを取得するには、認証が必要です (このリンクでエラーが発生することに注意してください)。
https://alpha-api.app.net/stream/0/posts/stream
API 呼び出しの末尾にを追加する必要があることは理解していますauth_token
が、AFIncrementalStore を使用してそれを行う方法がわかりません。
更新:現在グローバル ストリームを取得しているコードのチャンクは次のとおりです。
これは、AFIncrementalStore に含まれるサンプル App.net プロジェクトから直接取得されたメソッドです。
afnetworking - AFIncrementalStore にオブジェクトを保存するときにエラーが発生しました。有効な JSON 応答にもかかわらず NSDictionary の場合、ResponseObject は代わりに NSArray です。
全て、
過去 2 日間、問題を解決しようとしていますが、解決できないようです。明白なことを求める場合は、事前に謝罪してください。
非常に単純なデータ モデルで、新しいオブジェクト ユーザーを挿入しようとしました。(属性: name、password、id はそれぞれ NSString、NSString、NSNumber です)。API と外部 MySQL サーバーで新しいオブジェクトが正常に作成されます。ただし、HTTPrequest の完了ブロックでは、(私が思うに) バッキング ストアにデータが入力されると、リソース識別子を作成しようとします。
これは、表現ディクショナリから allKeys を取得しようとしているときに、このメソッドでアプリがクラッシュした場合です。
サーバーから返される JSON 応答は次のとおりです。
[{"id":20,"name":"john doe","password":"secret"}]
手がかりはありますか?今年中に問題が解決できればとてもありがたいです!!!
補足: マット よくやった!
副次的な質問: 接続が回復したとき、AFIS はローカル ストレージ、ローカル変更、およびサーバーとの同期をどのように処理しますか?
全て、
2013年もどうぞよろしくお願いいたします!!!
[アップデート]
問題は、NSDictionary ではなく NSArray を取得することです。AFIS savecontext のコードを変更して responseObject[0] を渡すことで簡単に修正できますが、AFIS コードを変更したくないので、有効な JSON 応答があるときに NSDictionary が返されないのは奇妙だと思います
ios - ネストされたリソースを持つ AFRESTClient pathForEntity?
次のようなネストされたリソース URL を使用して、アルバム内の写真を取得しようとしています。
これを実現する最も単純な方法は、AFRESTClient のサブクラスで pathForEntity 関数をオーバーライドすることです。ただし、アルバム オブジェクトへのアクセス権がないため、album_id を含む URL を返すことができません。これを達成するには、どのようにオーバーライド/拡張する必要がありますか? これを行う方法については、以下を参照してください。アルバム ID を提供できない疑問符に注意してください。
スタックの上位には、これが PhotosViewController -viewDidLoad にあります
ありがとう!
ios - 挿入されていないオブジェクトは更新できません
カテゴリ オブジェクトを作成して保存します。
次に、カテゴリ オブジェクトの名前を編集して、再度保存します。
次のエラーが表示されます。
あなたの時間と配慮していただきありがとうございます。
AFIncrementalStore を使用しています。
iphone - AFIncrementalStoreの使用中に返された部分的な関係データを処理するにはどうすればよいですか?
AFIncrementalStoreを試してみると、かなり甘いです。しかし、私はどのように対処するのか完全にはわからないシナリオに出くわしました。
子関係のIDを返すモデルがありますが、コンテンツ自体は返しません。例:GET / groups
通常のGET/categoriesですべてのカテゴリを取得できます。しかし、私はGET / group / 3/categoriesへの呼び出しを持っていません
したがって、私が知らないのは、group.categoryの子関係を初期化する方法です。明らかな何かが欠けていると確信していますが、どんな助けでも大歓迎です。
助言がありますか?
ios - AFIncrementalStore と NSFetchedResultsController を使用したデッドロック
私はここ数日間、これに対して頭を悩ませてきましたが、何が起こっているのか理解できません。私は Core Data にかなり慣れていますが、デッドロック シナリオを回避するのに十分なほどよく知っています。ただし、このプロジェクトでは、AFIncrementalStore を試して組み込むことにしました。実際のプロジェクトをいじらずにキー/値を適切にマッピングするために、APIClient をテストするサンプル プロジェクトを作成しました。それは完璧に機能しました。
今、私は実際のプロジェクトでそれを使用していますが、物事は厄介です。NSFetchedResultsController は、画面から押し出される UITableViewController で使用されます (Facebook アプリに似たメニューでスライドします)。約 50% の場合、デッドロックは発生しません。NSFetchedResultsController managedObjectContext が AppDelegate と同じであることを確認しました。ほとんどすべてが AFIncrementalStore の例と同じように設定されています。使用法をテストするための私のサンプル プロジェクトでさえ、完全に機能します。
デッドロック中に一時停止したときの Debug Navigator のイメージを次に示します。AFIncrementalStore のバックグラウンド コンテキストとメイン スレッドのコンテキストの間に問題があるようです。ただし、 AFIncrementalStore を作成しておらず、既存のドキュメント/例から離れているだけなので、どうすればよいかわかりません。
編集:2番目のスレッドのバックトレースを追加
core-data - AFIncrementalStore と大量のコア データ フェッチ
AFIncrementalStore を使用しており、Core Data フェッチ要求をプロファイリングすることにしました。リクエスト数がこれほど多くなる理由がわかりません。私が台無しにしているかもしれない基本的なことはありますか?
ios - AFIncrementalStore による障害からの更新
REST API との同期に AFIncrementalStore を使用するプロジェクトがあります。ストアに多くの部門がある単純な 1 対多の関係が設定されているとします。
安らかなエンドポイントがあります: /Stores/:id (ストアに関するデータのみを返し、ネストされたリソースは返しません) /Stores/:id/Departments
Store で 1 対多の「部門」関係を持つ CoreData の Store および Department モデル。
特定の店舗のすべての部門を表示する tableView を作成しているとします。ストア オブジェクトがあり、store.departments を呼び出すと、リレーションシップで障害が発生し、/Stores/:id/Departments への非同期要求がトリガーされます。
これは AFIncrementalStore::newValueForRelationship を呼び出して、リクエストが終了したらテーブルを更新するためにリッスンできる通知を発生させない障害を処理します。ビューをリロードせずにリクエストが返されたら、テーブルを更新する適切な方法は何ですか?