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[] ...
随机推荐
- C# 隐式类型转换
implicit(C# 参考) implicit 关键字用于声明隐式的用户定义类型转换运算符.如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换. clas ...
- 黑客攻击常用CMD命令大全
黑客常用命令大全net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai ...
- 菜单伸缩Js控制
<div class="global_module procatalog"> <h3>产品分类</h3> <ul class=" ...
- 百度地图api2.0体验
前言:这两天在做百度地图的功能,查看了百度官网的api完成了基本功能 api地址http://developer.baidu.com/map/jshome.htm 注意是javascript API ...
- <<redis设计和实现>>读书笔记
redis如何实现主从同步的高效率?? 主从复制的同步有一个命令数据的同步文本,然后利用两个不同服务器的偏移量来进行进行同步,避免每次都是全部同步(并非会保存所有的命令数据,而是会有一个缓冲区(比如1 ...
- Python六大开源框架对比:Web2py略胜一筹
Python是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带 ...
- springmvc登陆拦截案例
一.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...
- jQuery中attr()、prop()、data()用法及区别
.attr(),此方法从jq1.0开始一直存在,官方文档写的作用是读/写DOM的attribute值,其实1.6之前有时候是attribute,有时候又是property..prop(),此方法jq1 ...
- EF 分组查询
var result = from m in userPrefers.GroupBy(t => new { t.Pet_Preferential.Merchant.MerchantId, t.P ...
- windows环境PhpStorm中简单使用PHP_CodeSniffer规范php代码
为什么使用PHP_CodeSniffer 一个开发团队统一的编码风格,有助于他人对代码的理解和维护,对于大项目来说尤其重要. PHP_CodeSniffer是PEAR中的一个用PHP5写的用来检查嗅探 ...