2012-04-20 22 views
2

當我閱讀蘋果iOS開發者指南時,它解釋了一些關於使用塊(用於GCD)的內容。它應該將一些「代碼snippit」傳遞給一個objective-c對象,並將它傳遞給另一個線程,以便它可以在那裏執行。不會使用這種非常陰險的病毒等? (數據執行)。或者我在這裏錯過了一些觀點?Objective-C塊和數據執行

回答

3

否 - 您可以將此「代碼段」視爲您的函數(方法...)中聲明的已編譯的私有隱藏函數。 IOW,它與二進制文件中的任何編譯函數一樣危險。

3

即使您使用^blocks,您的代碼仍然是預編譯的。 我會說這不是更脆弱,然後其他的「弱聯繫」客觀C的東西。

^block在編譯器/預編譯器階段更多。我想說,由此產​​生的二進制文件看起來沒有什麼不同(從安全角度來看),然後沒有塊。

+0

謝謝你的解釋! – Nightwish1986 2012-04-20 10:43:58