1

AFIncrementalStore を使用しており、Core Data フェッチ要求をプロファイリングすることにしました。リクエスト数がこれほど多くなる理由がわかりません。私が台無しにしているかもしれない基本的なことはありますか?

ここに画像の説明を入力

4

1 に答える 1

2

私は問題を理解したと信じています。バックエンドとしてサービスParseを使用していますが、 -requestForFetchRequest: をオーバーライドして where 句を追加していませんでした。現在ログインしているユーザーに関連付けられたアイテムのみが必要でした。これで問題が解決したようです。

- (NSURLRequest *)requestForFetchRequest:(NSFetchRequest *)fetchRequest withContext:(NSManagedObjectContext *)context {
    NSMutableURLRequest *request = [[super requestForFetchRequest:fetchRequest withContext:context] mutableCopy];
    NSString *whereUserId = [NSString stringWithFormat:@"where={\"userId\":\"%@\"}",[PFUser currentUser].objectId];
    [request setHTTPBody:[whereUserId dataUsingEncoding:NSUTF8StringEncoding]];
    return request;
}

これで、初期読み込みと各項目を選択するときのフェッチ リクエストができました。はるかに適切です。

于 2013-03-31T15:35:47.620 に答える