iOS学习14之OC NSNumber + NSValue
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的更多相关文章
- OC NSNumber NSValue
OC NSNumber NSValue iOS的集合对象不可以存储C语言基本类型,所有可以进行装箱和拆箱,来进行OC对象操作. NSNumber包装类 普通初始化 NSNumber * num1 = ...
- IOS学习之路--OC的基础知识
1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouc ...
- 【IOS学习基础】OC类的相关
几天前突然在别人的类的.m文件中看到这么一句代码:@synthesize xxxx = _xxxx; 当时愣是没理解啥意思,过后才缓过神来发现原来是把一些类的基础知识忘记了,虽然不用过多去深究以前的一 ...
- iOS学习17之OC内存管理
1.内存管理的方式 1> iOS应用程序出现Crash(闪退),90%的原因是因为内存问题. 2> 内存问题 野指针异常:访问没有所有权的内存,如果想要安全的访问,必须确保空间还在 内存泄 ...
- iOS学习10之OC类和对象
本次是OC的第一节课,主要是学习和理解类与对象 1.面向对象 1> OOP(Object Oriented Programming)面向对象编程. 面向对象以事物为中心,完成某件事情都需要哪些事 ...
- iOS学习15之OC集合
1.数组类 1> 回顾C语言数组 数组是一个有序的集合, 来存储相同数据类型的元素. 通过下标访问数组中的元素,下标从 0 开始. 2> 数组 数组是一个有序的集合,OC中的数组只能存储对 ...
- iOS学习16之OC集合遍历和数组排序
1.集合遍历 1> 遍历 集合(Collection):OC中提供的容器类:数组,字典,集合. 遍历:对集合中元素依次取出的过称叫做遍历. 三种方式:① for循环遍历: ② NSEnumera ...
- iOS学习13之OC NSString类
C语言中,字符串是有char(ASC||码)字符组成. OC中,字符串是由unichar(Unicode)字符组成. 1.字符串(NSString) NSString:不可变字符串,即:创建以后,内容 ...
- ios学习之旅--oc对象的关系
1.匿名对象:就是没有名字对象 1.匿名对象仅用一次 使用场景: 1.当我们仅仅要调用一个对象的某个方法一次的时候能够使用匿名对象 2.匿名对象能够作为函数的实际參数 #imp ...
随机推荐
- 内核中用于数据接收的结构体struct msghdr(转)
内核中用于数据接收的结构体struct msghdr(转) 我们从一个实际的数据包发送的例子入手,来看看其发送的具体流程,以及过程中涉及到的相关数据结构.在我们的虚拟机上发送icmp回显请求包,pin ...
- NYOJ题目840吃花生
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAskAAAKdCAIAAABeSGNbAAAgAElEQVR4nO3dPXKkuvv28f8mnHshjn
- Python下安装MySQLdb
前提是你已经安装过mysql 1.从https://pypi.python.org/pypi/MySQL-python/下载MySQL-python,然后用rz命令上传到相关目录 2.用tar -zx ...
- C#学习笔记---协变和逆变
http://www.cnblogs.com/alphafly/p/4048608.html 协变是指方法能从委托的返回类型派生的一个类型. 逆变之方法获取的参数可以是委托参数类型的基类.
- VS使用技巧(转)
转自http://www.cnblogs.com/xpvincent/p/3596553.html i. Ctrl-M-O 折叠所有方法 ii. Ctrl-M-P 展开所有方法并停止大纲显示(不可以再 ...
- HTML5应用之文件拖拽上传
使用HTML5的文件API,可以将操作系统中的文件拖放到浏览器的指定区域,实现文件上传到服务器.本文将结合实例讲解HTML5+jQuery+PHP实现拖拽上传图片的过程,来看下HTML5的魅力吧. H ...
- C# IP地址与整数之间的转换
IP地址与整数之间的转换 1.IP地址转换为整数 原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个无符号的32位整数. 举例:一 ...
- android 入门-工程属性介绍
工程属性 (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854) (2)drawable-mdpi里面存放中等分辨率的图片,如HVGA ...
- android倒计时(整理)
android倒计时 用到CountDownTimer Android中文API(143) —— CountDownTimer 前言 本章内容android.os.CountDownTime章节,版本 ...
- 在Salesforce中以PDF的格式显示对应的页面
在Salesforce中可以简单设置page的属性让页面以pdf的方式显示内容, 当然了我们的page内容可以用Html的方式编写 设置方式为:renderAs="pdf" 请看如 ...