A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 蜡笔小炎 于 2015-5-31 11:08 编辑

:lol
  1. /******************************************
  2. *      今天对 “基础数据类型和包装类” 进行学习.收获如下:
  3. *
  4. *  1.  它们都是基本数据类型,并不是包装类:
  5. *      NSInteger相当于long型整数,
  6. *      NSUInteger相当于unsignedlong型整数,
  7. *      CGFloat在64位平台相当于double;32位平台相当于float。
  8. *
  9. *  2.  NSValue 和 NSNumber都是包装类,并且NSValue 是 NSNumber的父类。NSValue是比NSNumber更通用的包装类,用于将数据项添加到NSArray、NSSet等集合中。
  10. *
  11. *  3.  NSNumber是更具体的包装类,主要用于包装C语言的各种数据类型,主要包括如下三类方法:
  12. *       __
  13. *      |   1⃣️ + numberWithXxx:   直接将特定类型的值包装成 NSNumber
  14. *      |
  15. *     <    2⃣️ - initWithXxx:    需要先alloc一个NSNumber对象,在用一个Xxx类型的值初始化NSNumber
  16. *      |
  17. *      |__ 3⃣️ - xxxValue:       与以上两个相反,该方法返回NSNumber对象的基本类型值
  18. *
  19. *  4.  总结第3条:
  20. *
  21. *          [NSNumber numberWithXxx: 值 ]
  22. *          或[[NSNumber alloc] initWithXxx: 值 ]
  23. *
  24. *               _________>___>___>_________
  25. *              |                          |
  26. *          基本类型变量                  包装类对象
  27. *              |________<___<___<_________|
  28. *
  29. *                  [对象  XxxValue]

  30. Date: 2015/ 5/ 5
  31. *******************************************/

  32. #import <Foundation/Foundation.h>

  33. int main(int argc, const char * argv[])
  34. {
  35.     @autoreleasepool
  36.     {   //使用类方法初始化 NSNumber,再用实例方法返回基本数据值并打印
  37.         NSNumber* num = [NSNumber numberWithInt:20];
  38.         NSNumber* dou = [NSNumber numberWithDouble:3.4];
  39.         NSLog(@"%d", [num intValue]);
  40.         NSLog(@"%g", [dou doubleValue]);
  41.         //使用实例方法创建 NSNumber
  42.         NSNumber* ch = [[NSNumber alloc] initWithChar:'J'];
  43.         NSLog(@"%@", ch);
  44.     }
  45.     return 0;
  46. }
复制代码


6 个回复

倒序浏览
谢谢楼主分享
回复 使用道具 举报

客气,不谢:)
回复 使用道具 举报
沉了,自己顶。。。
回复 使用道具 举报
点赞。。。。
回复 使用道具 举报
帮顶一下,不错
回复 使用道具 举报
没学到呢,先记下,以便交流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马