Objective-C 2.0屬性(Property)介紹

Objective-C 2.0屬性(Property)介紹

一般在聲明一些成員變量時會看到以下聲明方式:html

@property (參數1,參數2) 類型 名字;多線程

這裏咱們主要分析在括號中放入的參數,主要有如下三種:app

setter/getter方法(assign/retain/copy)
讀寫屬性(readwrite/readonly)
atomicity(nonatomic)
ide

其中各參數說明以下:性能

assign
默認類型,setter方法直接賦值,而不進行retain操做
retain
setter方法對參數進行release舊值,再retain新值,以下代碼:
atom

  
  
  
  
  1. -(void) setObj:(ClassX*) value  
  2. {  
  3.          if (obj != value)  
  4.          {  
  5.                    [obj release];  
  6.                    obj = [value retain];  
  7.          }  

copy
setter方法進行Copy操做,與retain同樣
nonatomic
禁止多線程,變量保護,提升性能
readwrite
產生setter\getter方法
readonly
只產生簡單的getter,沒有setter。
url

官方參考文檔以下:spa

http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html線程

本文出自 http://yarin.blog.51cto.com/1130898/416353orm

相關文章
相關標籤/搜索