如何在block內部修改外部變量

默認狀況下,在block中訪問的外部變量是複製過去的,即:寫操做不對原變量生效。可是你能夠加上 __block 來讓其寫操做生效,示例代碼以下:web __block int a = 0; void (^foo)(void) = ^{ a = 1; }; foo(); //這裏,a的值被修改成1 你一樣能夠在面試中這樣回答,但你並無答到「點子上」。真正的緣由,並無書這本書裏寫的這麼
相關文章
相關標籤/搜索