property修飾符

版權聲明:本文爲延成原創文章,轉載請標明出處

MRC:Manul Refrence Countin
ARC:Automatic Refrence Counting

格式:@property(屬性修飾符) 數據類型 變量名稱;

  • readwrite(默認):代表生成getter方法,也生成setter方法
  • readonly:代表只生成getter方法 @property(readonly)int age;
  • setter:修改setter方法的方法名 @property(setter=b:)int age;
  • getter:修改getter方法的方法名 @property(getter=isMarried)BOOL married;
  • retain:自動生成setter/getter方法內存管理的代碼@property(retain)int age;
  • assign(默認):不會生成setter/getter方法內存管理的代碼,僅僅只生成普通的setter/getter方法。在ARC中如果保存對象不要用assign,用weak。assign是專門用於保存基本數據類型的,如果保存對象用weak。
  • atomic(默認):性能低
  • nonatomic:性能高
  • strong:強引用,在ARC中用於OC對象,相當於MRC中的retain@property(nonatomic,strong)int age;
  • weak:弱引用,在ARC中用於OC對象,相當於MRC中的assign@property(nonatomic,weak)int age;
  • copy:1.防止外界修改內部的數據。2.可以使用copy保存block,這樣的可以保住block中使用的外界對象的命,避免以後調用block的時候,外界的對象已經釋放了。3.copy block之後引發的循環引用。如果對象中的block又用到了對象自己,那麼爲了避免內存泄漏,應該將對象修飾爲__block

注意:

  • 一般情況下獲取BOOL類型的屬性的值,都會將獲取的方法名稱改爲isXXX
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章