@property中的變數與_
Objective-C語言關鍵詞,與@synthesize配對使用。xcode4.5以及以後的版本,@synthesize可以省略
下面以 Person 類為例:
在. h 檔案中:
@interface Person : NSObject
{
NSString * _name;
NSString * _sex;
NSInteger _age;
}
@property NSString * name;
@property NSString * sex;
@property NSInteger age;
表示宣告瞭三個屬性: name,sex,age, 預設生成3個對應的 setter 和 getter 方法
在. m 檔案中:
@implementation Person
@synthesize name = _name;
@synthesize sex = _sex;
@synthesize age = _age;
@end
表示實現3個 setter 和 getter 方法,其中 name = _name 表示說在 getter 和 setter 方法中操作的例項變數是_name,如果省略了_name,_age,_sex, 那麼會在. h 檔案中生成同名的例項變數 name,sex,age(注意:這裡並沒有下劃線),此時生成的 setter 和 getter 方法所操作的例項變數是 name,sex,age, 所以_name,_sex,_age 並沒有被操作.
在 ios5.0後,@synthesize也可以省略不寫,此時在. h 檔案中只寫@ property 即可,編譯器會自動生成相應的例項變數,例項變數的名字是屬性名稱前加下劃線.
相關文章
- iOS使用Category新增@property變數iOSGo變數
- shell中變數的取值與賦值變數賦值
- PHP中GET與POST變數PHP變數
- Perl中的變數作用範圍 local, my, our與全域性變數變數
- c++中的變數型別_C ++中的變數C++變數型別
- Android中全域性變數與區域性變數的使用總結Android變數
- JS中的變數JS變數
- awk中的變數變數
- volatile變數與普通變數的區別變數
- Oracle中的替換變數,&變數名,&&變數名說明Oracle變數
- Python 中的 property 屬性Python
- CentOS shell中的變數CentOS變數
- (10)mysql 中的變數MySql變數
- php中的SERVER變數PHPServer變數
- c++中的變數C++變數
- JAVA介面中的變數Java變數
- MySQL中的@變數名MySql變數
- Java中的逆變與協變Java
- python變數與變數作用域Python變數
- Ansible fact變數與魔法變數變數
- 常量與變數變數
- 簡單介紹Lua中的變數與賦值方法變數賦值
- SQL Server中臨時表與表變數的區別SQLServer變數
- CSS @property,讓不可能變可能CSS
- PHP 引用變數名與 foreach 中 $val 同名時發生的變化PHP變數
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- Python中類變數、成員變數、區域性變數的區別Python變數
- 理解 Kotlin 中的屬性(property)Kotlin
- 淺談 Swift 中的屬性(PropertySwift
- 淺談 Swift 中的屬性(Property)Swift
- 全域性變數與區域性變數變數
- [譯] JavaScript 中的私有變數JavaScript變數
- JavaScript中的安全變數引用JavaScript變數
- java中變數的作用域Java變數
- MariaDB/MySQL中的變數MySql變數
- 13.1 函式中的變數函式變數
- Bash 中的環境變數變數
- HyperGraphDB查詢中的變數變數