Objective-C学习- 数字对象 NSNumber
2015-08-04 15:12
441 查看
对于Objective-C 的数组 NSArray 只能存对象,不能存取基本数据类型,如 整型int 、浮点型float、 双精度浮点型double、 字符型char,但Objective-C为了能够将基本数据类型存到数组,有一个类型叫做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];
用法如下:
// 将
整型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学习-数组 NSArray 和 NSMutableArray
- Objective-C学习- 便利初始化函数和便利构造器
- Object-c 典型的单例写法
- Objective-C ARC单例模式
- Objective-C学习笔记_内存管理(二)
- objective-c面向对象
- Objective-C学习笔记_内存管理(一)
- 【iOS开发之Objective-C】协议和代理
- Objective-C 多参数成员函数【好文收藏】
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- objective-c中数组输出对象怎么为地址
- Object-c中对于NSSting类的方法总结
- objective-c中的方法重载
- Object 体系结构常用方法
- Objective C: NSArray的基本用法(Foundation框架详解第一讲)
- Objective-C中的一些特殊的数据类型
- Objective C程序 block代码块 和property协议及Foundation框架
- objective-c遍历
- Qt 静态函数QMetaObject::connectSlotsByName(QObject * object)按命名规则自动connect,不需要手动connect
- 使用QtService接口的时候出现undefined reference to `::staticMetaObject'