CCMenuItemLabel - “该块将被'复制'。”

时间:2014-01-17 22:27:18

标签: ios objective-c cocos2d-iphone objective-c-blocks

关于声明“块将被'复制'的简单问题。”我对目标c中对块的理解和使用不太满意,'复制'是什么意思?如果有人可以解释或指向我可以的资源,我将不胜感激。谢谢

*此方法来自Cocos2d文档。

+ (id) itemWithLabel:(CCNode< CCLabelProtocol, CCRGBAProtocol > *) label
block:(id sender) block

使用Label和要执行的块创建CCMenuItemLabel。该块将被“复制”。

1 个答案:

答案 0 :(得分:2)

块就像结构一样,包含一组信息,比如指向函数的指针。 默认情况下,当您创建一个块,它在堆栈上创建时,您必须将其复制到堆,以便能够在堆栈调用之外使用它。 在此示例中,此方法将返回一个item对象,并将块参数(可能仍在堆栈中)复制到堆,以便在需要时能够使用它。