2012-02-07 78 views
1

可能重复:
Caret in objective C什么是先从对象^目标C意味着

我最近遇到了一些代码行来了,发现它在^标志像这样一个对象的前面:

typedef void (^AnimatedViewBlock)(CGContextRef context, CGRect rect, CFTimeInterval totalTime, CFTimeInterval deltaTime); 
@interface AnimatedView : UIView 

任何人都可以解释它用相同的简单例子。

+0

这个问题已经被问过...选中此/ 1912023/caret-in-objective-c – Kris 2012-02-07 12:45:57

+0

请参阅[这里] [1]。第一个答案链接到iOS开发人员库。 :) [1]:http://stackoverflow.com/questions/2736261/what-is-the-in-objective-c – wonderb0lt 2012-02-07 12:46:13

回答

1

它表示块对象。

阅读苹果文档here

1

这就是所谓的

的Objective-C类封闭。

Docs here

+0

和downvote是......? – Krizz 2012-02-08 07:20:17

1

符号你指的是表示在目标C的块的开始。它们主要用于ios中的Grand Central Dispatch,但您也可以在其他地方使用它们。

正如约翰Muchow writes

块是真的没有什么比一个代码块多。是什么使他们 独特的是,作为用作 参数转换为一个方法/函数通过的块可以被内联执行为好。块也可以分配给一个 变量,并像C函数一样被调用。 [Objective-C中插入符号] [1] [1] :http://stackoverflow.com/questions

+0

感谢您的回复......我已经浏览了苹果文档,虽然他们对此有一个很好的解释,但仍然困惑我们为什么需要块,因为它们与函数类似,那么在什么情况下它们将被使用。 – 2012-02-07 15:56:24

+0

如果你要复制别人的话,一定要引用他们并引用他们。否则,你在抄袭。 – 2012-02-07 17:36:03

+0

好的...我在网站上读到它.. iphonedevelopertips.com – 2012-02-07 18:38:23