Questa è una "espressione di funzione con invocazioni di metodo arbitrarie" che sembrano essere scarsamente documentate. L'unico riferimento che io sappia è un paragrafo nel NSExpression Class Reference:
Funzione espressioni
Su OS X v10.4, NSExpression
supporta solo un insieme predefinito di funzioni: sum
, count
, min
, max
e average
. Queste funzioni predefinite sono state utilizzate nella sintassi del predicato utilizzando le parole chiave personalizzate (ad esempio, MAX(1, 5, 10)
).
Su OS X v10.5 e versioni successive, le espressioni di funzione supportano anche invocazioni di metodo arbitrarie . Per utilizzare questa funzionalità estese, è ora possibile usare la sintassi FUNCTION(receiver, selectorName, arguments, ...)
, per esempio, :
FUNCTION(@"/Developer/Tools/otest", @"lastPathComponent") => @"otest"
Il citando in questo codice di esempio sembra non essere corretto. Ma il seguente codice compilato ed eseguito su iOS 5/6:
NSExpression *expr = [NSExpression expressionWithFormat:@"FUNCTION('/Developer/Tools/otest', 'lastPathComponent')"];
id result = [expr expressionValueWithObject:nil context:nil];
NSLog(@"result: %@", result);
// Output:
// otest
Quindi nel tuo caso, si tratta di un'espressione di una funzione che chiama, quando valutato
[$manager destinationInstancesForEntityMappingNamed:@"employeesToEmployees"
sourceInstances:$source.employees]
dove $manager
e $source
sono sostituiti dai gestore di migrazione e l'oggetto di origine, come descritto in Mapping Model Objects nella "Guida alla programmazione di migrazione di dati e modelli di dati del modello di dati principale".