對於Objective-C 的數組 NSArray 只能存對象,不能存取基本數據類型,如 整型int 、浮點型float、 雙精度浮點型double、 字符型char,但Objective-C爲了可以將基本數據類型存到數組,有一個類型叫作NSNumber 的類型,叫作數字對象。(有些字詞用的不是很準確,待找到合適的詞定會修改過來)數組
用法以下:函數
// 將 整型int 轉換成 NSNumber 類型spa
NSNumber * number_int = [[NSNumber alloc] initWithInt:65];對象
// 將 字符型char 轉換成 NSNumber 類型it
NSNumber * number_char = [[NSNumber alloc] initWithChar:'A'];class
//將 浮點型float 轉換成 NSNumber 類型原理
NSNumber * number_float = [[NSNumber alloc] initWithFloat:2.0f];數據類型
//將 雙精度浮點型double 轉換成 NSNumber 類型float
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];