本帖最后由 蜡笔小炎 于 2015-5-31 11:08 编辑
:lol
- /******************************************
- * 今天对 “基础数据类型和包装类” 进行学习.收获如下:
- *
- * 1. 它们都是基本数据类型,并不是包装类:
- * NSInteger相当于long型整数,
- * NSUInteger相当于unsignedlong型整数,
- * CGFloat在64位平台相当于double;32位平台相当于float。
- *
- * 2. NSValue 和 NSNumber都是包装类,并且NSValue 是 NSNumber的父类。NSValue是比NSNumber更通用的包装类,用于将数据项添加到NSArray、NSSet等集合中。
- *
- * 3. NSNumber是更具体的包装类,主要用于包装C语言的各种数据类型,主要包括如下三类方法:
- * __
- * | 1⃣️ + numberWithXxx: 直接将特定类型的值包装成 NSNumber
- * |
- * < 2⃣️ - initWithXxx: 需要先alloc一个NSNumber对象,在用一个Xxx类型的值初始化NSNumber
- * |
- * |__ 3⃣️ - xxxValue: 与以上两个相反,该方法返回NSNumber对象的基本类型值
- *
- * 4. 总结第3条:
- *
- * [NSNumber numberWithXxx: 值 ]
- * 或[[NSNumber alloc] initWithXxx: 值 ]
- *
- * _________>___>___>_________
- * | |
- * 基本类型变量 包装类对象
- * |________<___<___<_________|
- *
- * [对象 XxxValue]
- Date: 2015/ 5/ 5
- *******************************************/
- #import <Foundation/Foundation.h>
- int main(int argc, const char * argv[])
- {
- @autoreleasepool
- { //使用类方法初始化 NSNumber,再用实例方法返回基本数据值并打印
- NSNumber* num = [NSNumber numberWithInt:20];
- NSNumber* dou = [NSNumber numberWithDouble:3.4];
- NSLog(@"%d", [num intValue]);
- NSLog(@"%g", [dou doubleValue]);
- //使用实例方法创建 NSNumber
- NSNumber* ch = [[NSNumber alloc] initWithChar:'J'];
- NSLog(@"%@", ch);
- }
- return 0;
- }
复制代码
|
|