0

というエンティティとUserというエンティティがあるとしMessageます。ユーザーには複数のメッセージ (対多関係) があり、メッセージの作成者は 1 人だけです。

このユーザーによるすべてのメッセージを取得したいとしましょう。2 つのオプションがあります。

  1. predicate = [NSPredicate predicateWithFormat:@"SELF IN %@ ", user.messages];
  2. predicate = [NSPredicate predicateWithFormat:@"authorEmail == %@ ", user.email];

どちらがより高速で、その理由は何ですか? ユーザーのemailが索引付けされているとします。

4

1 に答える 1

0

パフォーマンスを気にする場合は、再取得しないでください。フェッチは常にファイル システムから読み取る必要があるため (慣例により)、常にコストがかかります。すでにメモリにデータがある場合は、NSFetchedResultsController なしで UITableViewController を使用するだけです。

パフォーマンスを気にしなければ、どちらでも構いません。

于 2012-07-05T12:41:28.257 に答える