Objective-C块和数据执行

时间:2012-04-20 10:22:42

标签: ios objective-c-blocks

当我阅读苹果iOS开发者指南时,它向我解释了一些关于使用Blocks(用于GCD)的信息。它应该将一些“snippit of code”传递给一个objective-c对象,然后将它传递给另一个线程,以便在那里执行。难道不会利用这种极其易受病毒感染的东西吗? (数据执行)。或者我在这里错过了一些观点?

2 个答案:

答案 0 :(得分:3)

不 - 您可以将此“代码段”视为在您的函数(方法...)中声明的已编译的私有隐藏函数。 IOW,它和二进制文件中的任何编译函数一样危险。

答案 1 :(得分:3)

即使您使用^blocks,您的代码仍然是预编译的。 我会说它并不比其他“弱联系”的客观事物更容易受到攻击。

^block在编译器/预编译器阶段更为重要。我会说生成的二进制文件看起来并没有太大的不同(从安全角度来看),然后没有块。