黑马程序员技术交流社区
标题:
[笔记]包装类 和 基本数据类型 之间的转换总结
[打印本页]
作者:
蜡笔小炎
时间:
2015-5-26 02:09
标题:
[笔记]包装类 和 基本数据类型 之间的转换总结
本帖最后由 蜡笔小炎 于 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;
}
复制代码
作者:
星空眼泪
时间:
2015-5-26 02:25
谢谢楼主分享
作者:
蜡笔小炎
时间:
2015-5-26 07:52
星空眼泪 发表于 2015-5-26 02:25
谢谢楼主分享
客气,不谢:)
作者:
蜡笔小炎
时间:
2015-5-26 11:53
沉了,自己顶。。。
作者:
秦卷卷
时间:
2015-5-27 15:33
点赞。。。。
作者:
小路8866
时间:
2015-5-29 08:55
帮顶一下,不错
作者:
小龙女的萝卜
时间:
2015-5-29 09:01
没学到呢,先记下,以便交流
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2