当我说阻止时,我的意思是:
^(int a) {return a*a;};
另外,block仅支持iOS4及以上版本。
这两者有什么区别?
An NSInvocation
是一条发送给对象的消息(使用选择器),带有可选参数,可以稍后(或现在)执行,并且在当前上下文之外(当然要注意复制的内容与移动时保留或引用的内容)。NSInvocation
这样做的好处是您可以有选择地复制/引用您所需要的内容。
该块是一个秘密的本地函数定义,它能够捕获当前线程上下文的部分或全部。它的配置也比NSInvocation
因为它会自动捕获、复制并保留线程(或作用域)本地上下文。与函数类似,块可以稍微增加二进制大小。如果从本地上下文中取出(例如,当您复制块时),与相比,块可能需要更多的 CPU 时间和内存NSInvocation
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)