私は常に NSFetchRequests を完全にコード内で作成してきました。ここで、フェッチ リクエストを作成してモデルに格納するための Xcode GUI を見ています。
Xcode ドキュメントの例に従っています。モデルにフェッチ リクエストを追加しました。モデリング GUI で作成された述語は次のとおりです。
firstName LIKE[c] "*SUBSTRING*"
次に、次の 2 行でそのリクエストを取得します。
NSDictionary *substituionDictionary = [NSDictionary dictionaryWithObject:@"woody" forKey:@"SUBSTRING"];
NSFetchRequest *fetchRequest = [mom fetchRequestFromTemplateWithName:@"firstNameContains" substitutionVariables:substituionDictionary];
結果の NSFetchRequest の NSLog はこれを出力します:
(entity: Customer; predicate: (firstName LIKE[c] "*SUBSTRING*"); sortDescriptors: (null); limit: 0)
.. これは、格納された FetchRequest が返される前に変数が置換されていないことを示します。
では、Xcode Data Modeling Fetch Request Predicate Builder GUI に入力されたテキストが、実行時に NSFetchRequest:fetchRequestFromTemplateWithName:substitutionVariables: によって置換されるように指定するにはどうすればよいでしょうか?
ありがとうございました!
ウッディ