1. 程式人生 > >block使用場景和註意事項

block使用場景和註意事項

edi 資料 lock dfa uda -type block類型 ebr 地址

1.使用場景:一般在一個函數的前面和後面都是重復性的東西,只有中間變化,一般使用block 2.註意事項 01:可以訪問外面的變量(作用域問題) 02.裏外變量同名的時候,訪問裏面那個(就近原則) 03.可以訪問外面的變量,但是不能改外面的值,因為不是同一個地址(只是copy了一份,值傳遞) 04.想要改變外面變量的值,需要 變量前 加上 _block (地址傳遞) 05.block類型存放位置:默認是棧,對block進行copy時,放在碓中 在棧中時,訪問外面對象,不會對對象 retain一次 copy後在堆中時,會對對象進行retain一次,造成內存泄漏,不=0 解決方案:對對象進行 _block, 這樣不管在堆還是棧,都不會retain一次
參考資料: 技術分享圖片 技術分享圖片 技術分享圖片 技術分享圖片 技術分享圖片 技術分享圖片 技術分享圖片 技術分享圖片 技術分享圖片

block使用場景和註意事項