1、NSNumber

 数值类。

 作用:实现基本数据类型与OC对象类型的相互转化。

 1> NSNumber创建对象

 // 初始化方法
NSNumber *num1 = [[NSNumber alloc] initWithInt:];
// 类方法
NSNumber *num2 = [NSNumber numberWithInteger:];
// 字变量
NSNumber *num3 = @;

 NSNumber字面量

 // 常量:
NSNumber *intNumber = @;
NSNumber *charNumber = @'w';
// 变量:
int age = ;
NSNumber *ageNumber = @(age);
char gender = 'w';
NSNumber *genderNumber = @(gender);

 2> NSNumber常用方法

  ① 其他类型转化为NSNumber

   int类型转化为NSNumber类型的对象

   + (NSNumber *)numberWithInt:(int)value;

   float类型转化为NSNumber类型的对象

   + (NSNumber *)numberWithFloat:(float)value;

   char类型转化为NSNumber类型的对象

   + (NSNumber *)numberWithChar:(char)value;

  ② NSNumber转化为其他类型

   NSNumber类型对象转化为int类型的数据

   @property (readonly) int intValue;

   NSNumber类型对象转化为float类型的数据

   @property (readonly) float floatValue;

   NSNumber类型对象转化为char类型的数据

   @property (readonly) char charValue;

 int a = [num2 intValue];
double b = [num1 doubleValue];
NSLog(@"%d,%f", a, b);
NSLog(@"%@", num1);

2、NSValue

 完成 结构体 和 对象类型 的互转。

 1> NSRange类型转化为NSValue类型的对象

  + (NSValue *)valueWithRange:(NSRange)range;

  NSPoint, NSRect, NSSize, CGSize, CGPoint, CGRect结构体类型 转化为NSValue类型的对象,使用方法同上,用法略!
  注: CGSize, CGPoint, CGRect是UI中使用的结构体类型。

 2> NSValue类型转化为NSRange类型的结构体变量

  @property (readonly) NSRange rangeValue;

  NSValue结构体类型转化为NSPoint, NSRect, NSSize, CGSize, CGPoint, CGRect类型的结构体变量,使用方法同上,用法略!

总结:

 NSNumbe 、NSValue主要是为了完成基本数据类型,结构体和对象 的互转,便于与collection配合使 (collection — — 集合)。

iOS学习14之OC NSNumber + NSValue的更多相关文章

  1. OC NSNumber NSValue

    OC NSNumber NSValue iOS的集合对象不可以存储C语言基本类型,所有可以进行装箱和拆箱,来进行OC对象操作. NSNumber包装类 普通初始化 NSNumber * num1 = ...

  2. IOS学习之路--OC的基础知识

    1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouc ...

  3. 【IOS学习基础】OC类的相关

    几天前突然在别人的类的.m文件中看到这么一句代码:@synthesize xxxx = _xxxx; 当时愣是没理解啥意思,过后才缓过神来发现原来是把一些类的基础知识忘记了,虽然不用过多去深究以前的一 ...

  4. iOS学习17之OC内存管理

    1.内存管理的方式 1> iOS应用程序出现Crash(闪退),90%的原因是因为内存问题. 2> 内存问题 野指针异常:访问没有所有权的内存,如果想要安全的访问,必须确保空间还在 内存泄 ...

  5. iOS学习10之OC类和对象

    本次是OC的第一节课,主要是学习和理解类与对象 1.面向对象 1> OOP(Object Oriented Programming)面向对象编程. 面向对象以事物为中心,完成某件事情都需要哪些事 ...

  6. iOS学习15之OC集合

    1.数组类 1> 回顾C语言数组 数组是一个有序的集合, 来存储相同数据类型的元素. 通过下标访问数组中的元素,下标从 0 开始. 2> 数组 数组是一个有序的集合,OC中的数组只能存储对 ...

  7. iOS学习16之OC集合遍历和数组排序

    1.集合遍历 1> 遍历 集合(Collection):OC中提供的容器类:数组,字典,集合. 遍历:对集合中元素依次取出的过称叫做遍历. 三种方式:① for循环遍历: ② NSEnumera ...

  8. iOS学习13之OC NSString类

    C语言中,字符串是有char(ASC||码)字符组成. OC中,字符串是由unichar(Unicode)字符组成. 1.字符串(NSString) NSString:不可变字符串,即:创建以后,内容 ...

  9. ios学习之旅--oc对象的关系

    1.匿名对象:就是没有名字对象     1.匿名对象仅用一次     使用场景:     1.当我们仅仅要调用一个对象的某个方法一次的时候能够使用匿名对象 2.匿名对象能够作为函数的实际參数 #imp ...

随机推荐

  1. python基础——单元测试

    python基础——单元测试 如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生. 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的 ...

  2. 阿里云服务器出现Warning: Cannot modify header information - headers already sent by (output started at 问题的解决方法

    阿里云服务器出现Warning: Cannot modify header information - headers already sent by (output started at 问题的解决 ...

  3. ReactNative环境配置

    参考链接 Windows系统安装React Native环境 windows下React Native Android 环境搭建 在Windows下搭建React Native Android开发环境 ...

  4. python以指定宽度及格式输出字符串

  5. Jmeter 提取http请求返回值里json数据参数化方法

    第三方插件下载地址:http://jmeter-plugins.org/downloads/all/ 插件下载后解压:找到JMeterPlugins-Extras.jar,把JMeterPlugins ...

  6. AlwaysOn的认识与相关理解

    AlwaysOn技术的简要说明: SQL Server2012所支持的AlwaysOn技术集中了故障转移群集.数据库镜像和日志传送三者的优点,但又不相同.故障转移群集的单位是SQL实例,数据库镜像和日 ...

  7. 昨天一日和彭讨论post请求数据的问题

    上午写了一个for循环,下午与同学视频才知道没有解决根本问题,接口是url单个的数据请求,而导入的是多个员工的考勤数据也就是要有多个请求同时发出,利用这个做法是有链接超时的情况,所以昨天晚上彭为了导入 ...

  8. 趣味C++

        用三段 140 字符以内的代码生成一张 1024×1024 的图片 Kyle McCormick 在 StackExchange 上发起了一个叫做TweetableMathematical A ...

  9. MVC中Action 过滤

    总结Action过滤器实用功能,常用的分为以下两个方面: 1.Action过滤器主要功能就是针对客服端请求过来的对象行为进行过滤,类似于门卫或者保安的职能,通过Action过滤能够避免一些非必要的深层 ...

  10. 【译】DotNet 5.4或者说 .NET平台标准

    原文:DotNet 5.4 or .NET Platform Standards 是的,你看到的确实是"DotNet 5.4".使用Visual Studio 2015 RC1 u ...