assign 和 weak 區(qū)別?

assign

自動(dòng)生成: __unsafe_unretained  
1.不是強(qiáng)引用 不能保住OC對(duì)象的命
2.如果引用的OC對(duì)象銷毀了,指針并不會(huì)被自動(dòng)清空,依然指向銷毀的對(duì)象(很容易產(chǎn)生野指針錯(cuò)誤 : EXC_BAD_ACCESS)

weak

生成:  _Nullable__weak
1.不是強(qiáng)引用,不能保住OC對(duì)象的命
2.如果引用的OC對(duì)象銷毀了,指針被自動(dòng)清空(變?yōu)閚il),不再指向銷毀的對(duì)象(永遠(yuǎn)不會(huì)產(chǎn)生野指針錯(cuò)誤)

用途

  • assign 一般用在基本數(shù)據(jù)類型上面,你如int\double等
  • weak 一般用在代理對(duì)象上面,或者用在解決循環(huán)引用的問題
  • assign 的速度 > weak.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 我個(gè)人理解就是:weak比assign多了一個(gè)功能就是當(dāng)屬性所指向的對(duì)象消失的時(shí)候(也就是內(nèi)存引用計(jì)數(shù)為0)會(huì)自動(dòng)...
    zhengelababy閱讀 2,106評(píng)論 2 3
  • 在ARC中的assign和weak可以說非常相像,導(dǎo)致有很多人誤以為他們是一摸一樣的,在任何時(shí)候都可以劃等價(jià),但事...
    火星抄手閱讀 588評(píng)論 0 1
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,881評(píng)論 1 10
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,211評(píng)論 30 472
  • 周六買書三種,未見物流,溝通賣家說剛發(fā)貨。晚上整理領(lǐng)導(dǎo)錄音,寫稿子。昨晚聽朋友韓達(dá)拉夫婦講訴了他們自身關(guān)于...
    云雁閣主閱讀 253評(píng)論 0 1