OC NSNumber NSValue
OC NSNumber NSValue
iOS的集合对象不可以存储C语言基本类型,所有可以进行装箱和拆箱,来进行OC对象操作。
NSNumber包装类
普通初始化
NSNumber * num1 = [[NSNumber alloc] initWithInt:20];
NSNumber * num2 = [NSNumber numberWithChar:'a'];
字面量初始化
NSNumber * num3 = @300;
NSNumber * num4 = @123.2;
NSNumber * num5 = @'X';
变量初始化
int a = 29;
NSNumber * num5 = @(a);
NSNumber转基本数据类型
charValue,intValue,longValue,doubleValue
NSValue包装类
typedef struct {int age;char * name;char sex;
} SPerson;SPerson person;
person.name = "dahuan";
person.age = 10;
person.sex = 'm';//将一个结构体转换为NSValue对象,
//@encode(aType) 可以返回该类型的 C 字符串(char *)的表示
NSValue * value = [NSValue valueWithBytes:&person objCType:@encode(SPerson)];SPerson person2;//将一个NSValue对象转换为结构体
[value getValue:&person2];NSLog(@"%s",person2.name);
NSLog(@"%d",person2.age);
NSLog(@"%c",person2.sex);NSRange range = {12,2};
//常用结构体装箱
NSValue * rvalue =[NSValue valueWithRange:range];
//rangeValue将NSRange拆箱
NSLog(@"%@",NSStringFromRange([rvalue rangeValue]));
转载于:https://www.cnblogs.com/xubaoaichiyu/p/5493435.html
OC NSNumber NSValue相关推荐
- OC学习笔记之Foundation框架NSNumber、NSValue和NSDate(转)
一.NSNumber OC数组类NSArray,它只能存放 OC的对象,对于基本的数据类型确无能为力,但是实际编程中经常要把基本的数据如int.float,结构体存放的OC数组中,怎么办?这里的 NS ...
- OC学习笔记之006面向对象包装类,协议
1.包装类NSValue和NSNumber NSValue是NSNumber的父类,NSNumber是更具体的包装类,包装各种数值类型,主要有三类方法 +numberWithXXX:类方法,直接将特定 ...
- IOS相关培训机构课程内容汇总
达内课程体系 第一阶段.Web开发基础(Linux操作系统.Nigix.XHTML技术核心.CSS技术核心):课程持续3周共96课时. 模块 课程目标 内容 项目 1 Mac Fundamental ...
- IOS面试题目(稍微深度型)
1,NSObject中description属性的意义,它可以重写吗? 答案: 每当 NSLog(@"")函数中出现 %@ 时,都会调用description函数,所以通过重写 d ...
- IOS入门开发大概课程内容记录
达内课程体系 第一阶段.Web开发基础(Linux操作系统.Nigix.XHTML技术核心.CSS技术核心):课程持续3周共96课时. 模块 课程目标 内容 项目 1 Mac Fundamental ...
- IOS学习-----课程体系-----坚持就是胜利
课程内容 内容介绍 预备 1.文件管理器Finder 2.iWork使用Numbers,Keynote,Pages 3.Safari浏览器 Mac Os的使用,iWork的使用 iOS开发基础 1.i ...
- OC-------包装类
目录 6.1 OC的包装类 它们不是包装类 NSValue和NSNumber 6.2 处理对象 打印对象和description方法 ==与isEqual方法 重写isEqual 6.3 类别与拓展 ...
- NSString 字符串 操作 常用
//将NSData转化为NSString NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8 ...
- IOS学习笔记二十三对象归档(NSKeyedArchiver、NSKeyedUnArchiver、NSCodeing)
1.NSKeyedArchiver.NSKeyedUnArchiver 1).archiveRootObject:toFile 归档对象到这个路径文件 2).unarchiveObjectWithFi ...
- iOS之KVC原理自定义KVC
前言 开发过程中,很多人都会注意到KVO,以及自定义KVO,实际上KVC的作用也是十分强大的,不仅仅是简单的字典转模型,有关使用技巧可以看上篇文章,这篇文章要根据上篇的总结来进行自定义KVC操作: 相 ...
最新文章
- XML – E4X概述
- jdbc获取mysql 列信息_JDBC获取数据库信息:获取表中各列的信息
- 实模式与保护模式详解二:地址映射
- qt显示rgba8888 如何改 frame_Qt音视频开发2-vlc回调处理
- SEO关键之密:自己创造一个关键词!
- 线程对象Android 开发之多线程处理、Handler 详解
- Linux工作笔记-解决安装Qt时缺少libX11-xcb.so.1文件问题
- TensorFlow笔记(5) 多元线性回归
- 在 Linux、 FreeBSD、 OpenBSD等UNIX操作系统 中查看 所有安装的软件或包
- 华科c语言作业,华中科技大学标准c语言程序设计及应用习题答案
- linux 平台编程软件下载,慧编程-慧编程linux版下载 v1.2.0官方版--pc6下载站
- 初级测试开发工程师应该学些什么
- GFlags使用文档
- spark初始:spark腾讯雅虎优酷成功应用解析
- 银联支付(网银h5)
- HTML frameset 标签 cols 属性
- 电脑提示MSVCP140.dll文件丢失的解决方法
- linux安装 cuda、cdunn、numpy、scipy、theano、pylearn2、scikit-neuralnetwork
- uniapp开发中ios底部出现安全距离问题怎么解决?
- 环宇成功签约世界级海外文旅夜游项目,探索夜游新模式!