Foundation ----->NSNumber
/*--------------------NSNumber--------------------*/
//包装基本数据类型
//1.创建number对象
//12,1.9,'A',YES
//整型 //(1)包装
NSNumber *intNum = [NSNumber numberWithInteger:];
NSNumber *floatNum = [NSNumber numberWithDouble:1.9];
NSNumber *charNum = [NSNumber numberWithChar:'A'];
NSNumber *boolNum = [NSNumber numberWithBool:YES];
NSArray *array = @[intNum,floatNum,charNum,boolNum];
NSLog(@"%@",array);
//(2)解包
NSInteger intValue = [intNum integerValue];
CGFloat floatValue = [floatNum doubleValue];
char c = [charNum charValue];
bool b = [boolNum boolValue];
//优化语法
NSNumber *intNum2 = @;
NSNumber *floatNum2 = @1.9;
NSNumber *charNum2 = @'A';
NSNumber *boolNum2 = @YES;
NSInteger count = ;
NSNumber *num = @(count);
/*--------------------NSValue--------------------*/
//将结构体变成对象
NSRange range = {,};
NSValue *rgValue = [NSValue valueWithRange:range];
NSLog(@"range:%@",rgValue);
// [NSValue valueWithSize:/]
//自定义的结构体
struct CXPoint {
CGFloat x;
CGFloat y;
};
//----对自定义的结构体封装----
struct CXPoint p = {1.2,9.8};
NSValue *pValue = [NSValue value:&p withObjCType:@encode(struct CXPoint)];
NSLog(@"%@",pValue);
//----对自定义的结构体解封装----
struct CXPoint p2;
[pValue getValue:&p2];
NSLog(@"%f %f",p2.x,p2.y);
/*---------------------NSNull---------------------*/
//nil不能作为元素存放
// NSArray *array2 = @[@1,@2,@3,nil,@5];
NSNull *null = [NSNull null];
NSArray *array2 = @[@,@,@,null,@];
NSLog(@"array2:%@",array2);
Foundation ----->NSNumber的更多相关文章
- 85、int 、NSInteger、NSUInteger、NSNumber的区别和联系
NSNumber是NSValue的一个子类,它是一个对象来存储数字值包括bool型,它提供了一系列的方法来存储char a signed or unsigned char, short int, in ...
- 【IOS 开发】Objective - C 面向对象高级特性 - 包装类 | 类处理 | 类别 | 扩展 | 协议 | 委托 | 异常处理 | 反射
一. Objective-C 对象简单处理 1. 包装类 (1) 包装类简介 NSValue 和 NSNumber : -- 通用包装类 NSValue : NSValue 包装单个 short, i ...
- Foundation框架下的常用类:NSNumber、NSDate、NSCalendar、NSDateFormatter、NSNull、NSKeyedArchiver
========================== Foundation框架下的常用类 ========================== 一.[NSNumber] [注]像int.float.c ...
- 黑马程序员_ Objective-c 之Foundation之NSNumber ,NSValue, NSDate
Objective-c 之Foundation之NSNumber ,NSValue, NSDate 1.NSNumber具体用法如下: 在Objective-c中有int的数据类型,那为什么还要使用数 ...
- Objective-C:Foundation框架-常用类-NSNumber
NSArray.NSDictionary是不可以存储C语言中的基本数据类型的.NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray.NSDictionary等集合 ...
- (转载)OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)
前一篇说到了Foundation框架中的NSDirctionary类,这一一篇来看一下Foundation的其他常用的类:NSNumber,NSDate,NSException. 注:其实按照Java ...
- iOS Foundation框架 -3.利用NSNumber和NSValue将非OC对象类型数据存放到集合
1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary ...
- Foundation框架中的NSNumber对象详解
到目前为止,我们所讨论过的所有数字数据类型,如int型.float型和long型都是Objective-C语言中的基本数据类型,也就是说,它们都不是对象.例如,不能向它们发送消息.然而,有时需要作为对 ...
- Foundation框架 - NSNumber类
NSNumber类 NSFormatter #import <Foundation/Foundation.h> int main(int argc, const char * argv[] ...
随机推荐
- [MySQL5.6 新特性] 全局事务标示符(GTID)
GTID的全称为 global transaction identifier , 可以翻译为全局事务标示符,GTID在原始master上的事务提交时被创建.GTID需要在全局的主-备拓扑结构中保持唯 ...
- 6个错误将杀死你的App
没有开发者或者设计师会故意破坏应用的设计.所有的应用程序创建者都对自己的应用寄予美好的愿望,但是很多错误是在他们无意识的状态下破坏app的设计.以下是应用开发者和设计者经常犯的几个错误,不过这些错误是 ...
- [转载]jQuery1.9完全删除live事件
其实关于live被删除的事件早就在1.7.2版本以后就有通知过了 不过在官方一直提倡使用.on代替.live的过程中 .live事件一直沿用 今天更新了 看下jQuery1.9的相关信息 发现api中 ...
- bzoj3051: [wc2013]平面图
Description Input Output 扫描线求出平面图的对偶图然后求最小生成树,用并查集按秩合并,以便查询两点间路径最大权 #include<stdio.h> #include ...
- 自实现CAS原理JAVA版,模拟下单库存扣减
在做电商系统时,库存是一个非常严格的数据,根据CAS(check and swap)原来下面对库存扣减提供两种方法,一种是redis,一种用java实现CAS. 第一种 redis实现: 以下这个类是 ...
- varnish 4.0.3 域名访问的小问题
1,若端口不是80 端口则匹配的时候必须加端口 if (req.http.host ~ "(?i)^var.test.aa:6081$") {set req.http.host = ...
- SparkConf加载与SparkContext创建(源码阅读一)
即日起开始spark源码阅读之旅,这个过程是相当痛苦的,也许有大量的看不懂,但是每天一个方法,一点点看,相信总归会有极大地提高的.那么下面开始: 创建sparkConf对象,那么究竟它干了什么了类,从 ...
- OAF_开发系列10_实现OAF动态LOV设定
20150712 Created By BaoXinjian
- SQL查询树形结构的所有子节点
如下一张表test:id name pid----------- ---------- -----------1 电器 NULL2 家电 13 冰箱 24 洗衣机 25 电脑 16 笔记本 57 平板 ...
- flddler使用方法
http://blog.csdn.net/geekgjie/article/details/8029936