2012-02-03 96 views
4

Objective C中的^字符是什么意思?就像下面的代码目标C中的^是什么意思?

TWTweetComposeViewControllerCompletionHandler 
    completionHandler = 
    ^(TWTweetComposeViewControllerResult result) { 
     switch (result) 
     { 
      ... 
     } 
     [self dismissModalViewControllerAnimated:YES]; 
    }; 
+1

它被称为插入符号。它也是C中的按位异或。10^4 = 14。 – vakio 2012-02-03 09:40:51

回答

8

它表示一个“块”,一段代码可以打包成一个对象并在以后使用。在您的示例中,它指定了稍后调用的完成处理程序,大概是当用户单击“确定”或某个类似的按钮关闭警报时。

块也可以与Grand Central Dispatch一起使用,在这种情况下,它们用于生成可以在另一个线程上同步和异步运行的代码单元。

0

它作为块定义的一部分:

^(return_type retval) { 
    statements; 
} 

你会认为这是块声明过的一部分。