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]));
OC NSNumber NSValue的更多相关文章
- iOS学习14之OC NSNumber + NSValue
1.NSNumber 数值类. 作用:实现基本数据类型与OC对象类型的相互转化. 1> NSNumber创建对象 // 初始化方法 NSNumber *num1 = [[NSNumber all ...
- 黑马程序员_ Objective-c 之Foundation之NSNumber ,NSValue, NSDate
Objective-c 之Foundation之NSNumber ,NSValue, NSDate 1.NSNumber具体用法如下: 在Objective-c中有int的数据类型,那为什么还要使用数 ...
- iOS - OC NSNumber 数字
前言 @interface NSNumber : NSValue @interface NSDecimalNumber : NSNumber 将基本数据类型包装成 OC 对象 1.NSNumber 与 ...
- 数值类对象:NSNumber,NSValue,NSNull
基本,集合,复杂,对象 可用对象封装基本数值,然后将对象放入NSArray或NSDictionary 中. 用对象封装基本数值后,即可给其发送消息. 数值类型包括:NSNumber,NSValue,N ...
- OC NSNumber和NSValue和NSDate和NSData
一 NSNumber // // main.m // 07-NSNumber // // Created by apple on 13-8-12. // Copyright (c) 2013年 itc ...
- NSNumber,NSValue和NSData
我们在编码中,很多时候需要将C里面原生的数据封装成对象,这样可以用NSDictionary或者NSArray来存取访问.尤其是一些做适配的情况下,这种封装是不可避免的.Objective-C提供了不少 ...
- Object-c学习之路十(NSNumber&NSValue)
// // main.m // NSNumberAndNSValue // // Created by WildCat on 13-7-26. // Copyright (c) 2013年 wildc ...
- OC07 -- 迭代器/NSNumber/NSValue/NSRange/NSSet/NSDate 及相互转换.(杂)
//一: 迭代器 //数组 NSArray *arr=@[@"1",@"2",@"3",@"4",@"5&qu ...
- Foundation框架下的常用类(NSNumber, NSValue, NSDate,NSDateFormatter)
1.NSNumber 将基础数类型数据转成对象数据(比如int float double BOOL long等等) //通过NSNumber将基础数类型数据转成对象数据. NSNumber * i ...
随机推荐
- PyQt写的五子棋
技术路线 GUI的实现 使用PyQt技术作为基础.PyQt是一个支持多平台的客户端开发SDK,使用它实现的客户端可以运行在目前几乎所有主流平台之上. 使用PyQt,Qt设计器实现UI,通过pyuic4 ...
- 【转】php中XML、XSLT的结合运用
原文:http://blog.csdn.net/bjbs_270/article/details/140253 下面我要讲的是一个简单的从数据库中抽取数据,生成XML文档,使用XSLT转换成HTM ...
- mysql对表操作的各种语句
创建表 create table tb_user( id int(类型)primary key(设置为主键) auto_increment (设置id自增长), 每一个字段用逗号隔开, name va ...
- MongoDB学习-在.NET中的简单操作
1.新建MVC项目, 管理NuGet包,进入下载MongDB.net库文件 2.新增项目DAL数据访问层,引用以下库文件: 3.C# 访问MongoDB通用方法类: using MongoDB.Dri ...
- No suitable driver found for jdbc:mysql://localhost:3306/dmc
1. 使用java jdbc直接连接数据库操作, 出现题中错误, 参考网上说法, 将mysql连接jar放入jre拓展底下 不再报错
- MYSQL数据库如何赋予远程某个IP访问权限
1. 授权用户root使用密码jb51从任意主机连接到mysql服务器:代码如下:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jb ...
- 网上图书商城1--User模块
1. 注册 $(function() { /* * 1. 得到所有的错误信息,循环遍历之.调用一个方法来确定是否显示错误信息! */ $(".errorClass").each(f ...
- Test your application
Creating automatic test suites for your application is a good way to make it robust. It allows you t ...
- ASP.Net之数据绑定
---恢复内容开始--- [概述]数据绑定是指从数据源获取数据或向数据源写入数据.简单的数据绑定可以是对变量或属性的绑定,比较复杂的是对ASP.NET数据绑定控件的操作 1.简单的属性绑定 基于属性的 ...
- jQuery Filterizr 筛选过滤
Filterizr 是一款功能强大的筛选过滤插件,它提供了多重筛选过滤方式,配合了css3的动画效果. 在线实例 默认 回调函数 使用方法 <div class="sucaihuo&q ...