1.block:類似于一個"閉包",閉包:可以從函數外部訪問函數內部的變量,將block當做一個代碼塊來使用
block相相似于函數的優(yōu)點:block可以當做一個參數傳遞,而函數/方法不能
{
block使用:
1.定義block類型,返回值/需要什么參數,
2.確定block中執(zhí)行的內容(這個時候還沒有執(zhí)行這個block)
3.執(zhí)行block
block使用注意:
1.定義block屬性的時候要用copy,
2.block使用self,要使用self弱語法引用,(防止循環(huán)引用)
"block面試題!!"
GCD中的block(任務)出現(xiàn)self,會造成循環(huán)引用嗎,---GCD中的block可以直接使用self
block循環(huán)引用的條件; block------>強引用(self)self------>強引用([block屬性])
NSOperation中的block是否可以出現(xiàn)self?
一般情況下,NSOPerationQueue需要作為一個屬性,將操作添加到隊列中!
注意:確實會出現(xiàn)循環(huán)引用,但是操作一旦執(zhí)行完畢之后就會被自動銷毀,所以NSOPeration中可以出現(xiàn)self,
}