weak和assign的區別

Oranges發表於2017-12-13

使用weak和assign修飾OC物件的區別

  • 相同點
 1.weak修飾OC物件
 2.assign修飾OC物件和基本資料型別
複製程式碼
  • 不同點 1.成員變數 1.weak生成的成員變數是用__weak修飾的,比如LCFPersion * __weak _cat 2.assign生成的成員變數是用__unsafe_unretained修飾的,LCFPerson *__unsafe_unretained 2.__weak__unsafe_unretained 1.都不是強指標(不是強引用),不能儲存物件的命 2.__weak:所指向的物件銷燬後,會自動變成nil指標(空指標) 3.__unsafe__unretained :所指向的物件銷燬後,仍舊指向已經銷燬的物件

相關文章