これは「任意のメソッド呼び出しを伴う関数式」であり、これは非常によく記述されていないようです。私が知っている唯一の参照は、NSExpression Class Reference内の1つの段落です:sum
、count
、min
:
機能NSExpression
のみの機能の 事前に定義されたセットをサポートし、OS X 10.4上で
を表現します、max
、およびaverage
。これらの 定義済み関数は、 カスタムキーワード(たとえば、MAX(1, 5, 10)
)を使用して述語構文でアクセスされました。
OS X v10.5以降では、関数式も任意の メソッド呼び出しをサポートしています。この拡張機能を使用するには、今 は 例えば、構文FUNCTION(receiver, selectorName, arguments, ...)
を使用することができます。
FUNCTION(@"/Developer/Tools/otest", @"lastPathComponent") => @"otest"
そのサンプルコードで引用正しくないことと思われます。しかし、次のコードはコンパイルされ、iOSの5/6で動作します。
NSExpression *expr = [NSExpression expressionWithFormat:@"FUNCTION('/Developer/Tools/otest', 'lastPathComponent')"];
id result = [expr expressionValueWithObject:nil context:nil];
NSLog(@"result: %@", result);
// Output:
// otest
$manager
と$source
が置き換えられます
[$manager destinationInstancesForEntityMappingNamed:@"employeesToEmployees"
sourceInstances:$source.employees]
を評価したときだからあなたの場合には、それは、呼び出す関数の式です「コアデータモデルのバージョン管理およびデータ移行のプログラミングガイド」のMapping Model Objectsに記載されているように、移行マネージャとソースオブジェクトを使用します。