隨着iOS系統的普遍應用,block也愈來愈火,如今也基本上廣泛了,可是在應用的時候總會遇到點什麼問題,那麼不知道你們是否是知道都會出現哪些問題呢?就這一問題講解一下,總結一下block開發應該注意的事。ide
1、內聯(inline)Block函數
就是將block嵌入到一個函數中學習
舉例說明:spa
2、要注意的地方指針
一、內聯的block中內部定義的變量本身自己有讀寫權限
二、block內部要修改外部變量須要將外部變量聲明__block
三、Blockretain是無效的,若是要想留住block生命週期,能夠用copy來實現,記得release
四、被block的應用的對象,retainCount會自動加1,若是要想破解retaincircle,在對象前加__block,這樣block塊就不會維護這個對象了
下面的寫法若是不加上_blocka沒法dealloc對象
五、在獨立的block中不能引用self,若是須要訪問可使用參數傳遞的方法(能夠把其考慮成c+中參數傳入函數指針對應copy)**
六、不要隨便用.語法blog
順便說一下,本人是iOS培訓講師,但願有興趣的同行們和學生們相互關注,相互溝通,相互學習。生命週期