Objective-C 有以下的基本資料型態 (basic data type) ,相關字面常數 (literal) 如範例
資料型態種類 | 關鍵字 | 字面常數範例 |
---|---|---|
字元 | char | 'a', '\n' |
整數 | short int | |
整數 | unsigned short int | |
整數 | int | 10, -11, 0xFF3D, 0375 |
整數 | unsigned int | 10u, 100U,0XFFu |
整數 | long int | 10l, -100L, 0xffffL |
整數 | unsigned long int | 10UL, 100ul, 0xfffful |
整數 | long long int | 10LL, 0xffffll |
整數 | unsigned long long int | 10ULL, 0xffffull |
浮點數 | float | 10.1f |
浮點數 | double | 10.1 |
浮點數 | long double | 10.1l |
任何型態的物件 | id | nil |
nil 是一種特別的值,代表一個空的指標 (pointer) ,當任何物件 (object) 變數 (variable) 指向 nil 的時候,就表示原本的物件失去連結的指標了。
除了基本資料型態外,雙引號圍起來的內容為字串 (string) ,基本上字串屬於字元陣列 (array)
char *demo = "Hello world!";
雙引號若加上前綴 @ 就是 NSString 的字面常數
NSString *demo = @"Hello world!";
陣列是源自 C 語言的衍生資料型態之一,字元陣列也就是字串由於很常用,因此有字面常數的形式, NSString 則是 Cocoa 中的字串物件。
Clang 3.1 以後新增一些其他的字面常數,例如
// [NSNumber numberWithChar:'Z'] NSNumber *theLetterZ = @'Z'; // [NSNumber numberWithInt:42] NSNumber *fortyTwo = @42; // [NSNumber numberWithUnsignedInt:42U] NSNumber *fortyTwoUnsigned = @42U; // [NSNumber numberWithLong:42L] NSNumber *fortyTwoLong = @42L; // [NSNumber numberWithLongLong:42LL] NSNumber *fortyTwoLongLong = @42LL; // [NSNumber numberWithFloat:3.141592654F] NSNumber *piFloat = @3.141592654F; // [NSNumber numberWithDouble:3.1415926535] NSNumber *piDouble = @3.1415926535; // [NSNumber numberWithBool:YES] NSNumber *yesNumber = @YES; // [NSNumber numberWithBool:NO] NSNumber *noNumber = @NO; // [NSNumber numberWithBool:(BOOL)true] NSNumber *trueNumber = @true; // [NSNumber numberWithBool:(BOOL)false] NSNumber *falseNumber = @false;
另外有
// NSArray 物件的字面常數 NSArray *array = @[ @"Hello", NSApp, [NSNumber numberWithInt:42] ]; // NSDictionary 物件的字面常數 NSDictionary *dictionary = @{ @"name" : NSUserName(), @"date" : [NSDate date], @"processInfo" : [NSProcessInfo processInfo] };
大體上 Cocoa 物件的字面常數都有加上 @ 前綴。
中英文術語對照 | |
---|---|
基本資料型態 | basic data type |
字面常數 | literal |
指標 | pointer |
物件 | object |
變數 | variable |
字串 | string |
陣列 | array |
您可以繼續參考
基本概念
標記
基本資料型態與指標
相關目錄
Objective-C 快速導覽
Objective-C 教材
首頁
參考資料
Programming with Objective-C: About Objective-C
Programming with Objective-C: Working with Objects
http://clang.llvm.org/docs/ObjectiveCLiterals.html
沒有留言:
張貼留言