1.使用場景:通常在一個函數的前面和後面都是重複性的東西,只有中間變化,通常使用block
2.注意事項
01:能夠訪問外面的變量(做用域問題)
02.裏外變量同名的時候,訪問裏面那個(就近原則)
03.能夠訪問外面的變量,可是不能改外面的值,由於不是同一個地址(只是copy了一份,值傳遞)
04.想要改變外面變量的值,須要 變量前 加上 _block (地址傳遞)
05.block類型存放位置:默認是棧,對block進行copy時,放在碓中
在棧中時,訪問外面對象,不會對對象 retain一次
copy後在堆中時,會對對象進行retain一次,形成內存泄漏,不=0
解決方案:對對象進行 _block, 這樣無論在堆仍是棧,都不會retain一次
參考資料: