assign 和 weak 區別?
assign
自動生成: __unsafe_unretained
1.不是強引用 不能保住OC物件的命
2.如果引用的OC物件銷燬了,指標並不會被自動清空,依然指向銷燬的物件(很容易產生野指標錯誤 : EXC_BAD_ACCESS)
weak
生成: _Nullable__weak
1.不是強引用,不能保住OC物件的命
2.如果引用的OC物件銷燬了,指標被自動清空(變為nil),不再指向銷燬的物件(永遠不會產生野指標錯誤)
用途
- assign 一般用在基本資料型別上面,你如int\double等
- weak 一般用在代理物件上面,或者用在解決迴圈引用的問題
- assign 的速度 > weak.
相關文章
- weak和assign的區別
- iOS中assign和weak修飾符的區別iOS
- 最新的assign與weak的區別 看不明白你打我
- __weak與__block區別,深層理解兩者區別BloC
- 被無數人寫過的assign,retain,strong,weak,unsafe_unretained,還有copyAI
- 和區別
- ../和./和/的區別
- if …if 和if …else if 區別
- 和 的區別
- as 和 with的區別
- in 和 exists區別
- ||和??的區別
- /*和/**的區別
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- undefined 和 null 區別?UndefinedNull
- SSL和TLS 區別TLS
- ./ 和sh 的區別
- JQuery this和$(this)的區別jQuery
- jquery $(this) 和this的區別jQuery
- ClassNotFoundException和NoClassDefFoundError區別ExceptionError
- T和?的區別
- SCSS 和 SASS 區別CSS
- innerHTML 和 innerTEXT 區別HTML
- null和undefined區別NullUndefined
- url和uri區別
- get和post區別
- ++a和a++的區別
- NoClassDefFoundError和ClassNotFoundException區別ErrorException
- $(":input")和$("input")區別
- $(document)和$(window)區別
- input和textarea區別
- localStorage和sessionStorage區別Session
- Session 和 Cookie 區別SessionCookie
- jQuery not()和filter()區別jQueryFilter
- define和defined區別
- restore和recover 區別REST
- memcache和redis區別Redis