@implementation AppController
- (IBAction) loadComposition:(id)sender
{
void (^handler)(NSInteger);
NSOpenPanel *panel = [NSOpenPanel openPanel];
[panel setAllowedFileTypes:[NSArray arrayWithObjects: @"qtz", nil]];
handler = ^(NSInteger result) {
if (result == NSFileHandlingPanelOKButton) {
NSString *filePath = [[[panel URLs] objectAtIndex:0] path];
if (![qcView loadCompositionFromFile:filePath]) {
NSLog(@"Could not load composition");
}
}
};
[panel beginSheetModalForWindow:qcWindow completionHandler:handler];
}
@end
=== 我搜索过并搜索过 - 这是对记忆的某种特殊参考吗?
答案 0 :(得分:9)
阅读here。它是一个“块对象”,基本上是一个lambda形式,并被引入以支持Snow Leopard的GCD(Grand Central Dispatch)。
答案 1 :(得分:6)
小旁:当用作二元运算符时,'^'字符(插入符号或抑扬符号)具有不同的含义:
a ^ b
表示异或b。 XOR(也称为异或)是一种二进制算术运算,其中结果在任何位位置都有1,其中a或b的值为1而不是两者。
答案 2 :(得分:3)
这是block(a.k.a。封闭),是Apple创建的C的扩展。
答案 3 :(得分:2)
这是block,可能与Grand Central Dispatch一起使用。