當把外部聲明的變量成塊......性能差異通過__block捕捉塊外部變量VS那不
使用__block
指令捕捉引用變量...
變量本地用__block存儲修飾符聲明的封閉詞法範圍由引用提供,因此是可變的。 任何更改都會反映在封閉的詞法範圍內,包括在同一個封閉詞法範圍內定義的任何其他塊。
沒有變量由值而拍攝...
塊的詞法範圍內聲明的局部變量,這完全一樣的功能,局部變量。 塊的每次調用都會提供該變量的新副本。這些變量可以反過來用作塊內封閉塊的const或by-reference變量。
我聽說過使用__block的效率較低,但這怎麼可能?你不會總是避免昂貴的副本嗎?
相關:[塊如何捕獲其封閉範圍之外的變量?](https://stackoverflow.com/questions/17813870/how-does-a-block-capture-the-variables-outside-of - 封閉範圍/ 17819142#17819142) –