1,在MRC 時代,__block 修飾,能夠避免循環引用;ARC時代,__block 修飾,一樣會引發循環引用問題;對象
2,__block無論是ARC仍是MRC模式下均可以使用,能夠修飾對象,還能夠修飾基本數據類型;循環
3,__weak只能在ARC模式下使用,也只能修飾對象,不能修飾基本數據類型;數據類型
4,__block對象能夠在block中被從新賦值,__weak不能夠;引用
5,__unsafe_unretained修飾符能夠被視爲iOS SDK 4.3之前版本的__weak的替代品,不過不會被自動置空爲nil。因此儘量不要使用這個修飾符。(__weak 會自動置爲nil)數據