標籤:
對於Objective-C 的數組 NSArray 只能存對象,不能存取基礎資料型別 (Elementary Data Type),如 整型int 、浮點型float、 雙精確度浮點型double、 字元型char,但Objective-C為了能夠將基礎資料型別 (Elementary Data Type)存到數組,有一個類型叫做NSNumber 的類型,叫做數字對象。(有些字詞用的不是很準確,待找到合適的詞定會修改過來)
用法如下:
// 將 整型int 轉換成 NSNumber 類型
NSNumber * number_int = [[NSNumber alloc] initWithInt:65];
// 將 字元型char 轉換成 NSNumber 類型
NSNumber * number_char = [[NSNumber alloc] initWithChar:‘A‘];
//將 浮點型float 轉換成 NSNumber 類型
NSNumber * number_float = [[NSNumber alloc] initWithFloat:2.0f];
//將 雙精確度浮點型double 轉換成 NSNumber 類型
NSNumber * number_double = [[NSNumber alloc] initWithDouble:5.6];
//初學者想要通過鍵盤輸入來賦值,其實原理是一樣的,例如:將浮點類型c轉換成 NSNumber 類型
char c ;
scanf("%c",&c);
NSNumber * number_free = [[NSNumber alloc] initWithChar:c];
//將 NSNumber類型 轉換成 整型int
int iNumber = [number_int intValue];
//將 NSNumber類型 轉換成 字元型char
char cNumber = [number_char charValue];
//將 NSNumber類型 轉換成 浮點型float
float fNumber = [number_float floatValue];
//將 NSNumber類型 轉換成 雙精確度浮點類型
double dNumber = [number_double doubleValue];
/*
[number isEqualToNumber:(NSNumber *)] 函數是比較兩個 NSNumber類型的方法
BOOL 類型的傳回值 只有兩種 一是YES(也就是1) 二是NO(也就是0)
‘A‘ 的ASCALL 碼是 65
number_int對象的值就是65
number_char對象的值是‘A’,相比較是相等的,因為‘A’就是65
*/
BOOL isSame = [number_int isEqualToNumber:number_char];
Objective-C學習- 數字對象 NSNumber