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[] ...
随机推荐
- centos 7安装部署docker
1.centos 7 在windows下通过vm虚拟机安装centos 7: VMware-workstation-full-10.0.3-1895310 centos 7 2.要求 操作系统的内核版 ...
- centos虚拟机网络配置
修改IP vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes BOOTPROTO=dhcp service network restart ...
- 大数据每日干货第四天(linux基础之一目录结构与常用命令)
为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...
- 【学】jQuery的源码思路2——$符号是如何封装的
jQuery中的$符号功能很强大,原因在于对函数参数的个数以及种类的控制,还有对于面向对象思想的运用 function jQuery(args){ //接受参数,并对其判断 this.elements ...
- [原]CentOS 6.5 上安装 MySQL 5.6
参考文档: http://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.html 1. 下载 rpm 文件:wget http ...
- oracle基础备份和还原
#全库备份 buffer inctype=complete file=c:\mminfo.dmp log=c:\mminfo.log #用户备份:用户mminfo下的所有表 buffer owner= ...
- bootstrap下使用模态框,在模态框内输入框中回车时,模态框自动关闭的问题及解决方法
使用bootstrap下模态框,构建表单提交页面,但是输入框中直接回车,本来是想执行一下验证,但是却导致模态框自动关闭了. 遇到这样的问题,只需要先禁止回车触发表单提交 $(do ...
- 尚学堂Spring视频教程(五):Spring AOP
在第一节中,我们自己模拟了一个Spring,实现一个保存用户的操作,假如现在有一个需求,在保存的时候记录日志,该怎么做呢? 暂且将记录日志操作就简单的变为在保存用户前输出一句话“save start. ...
- Android开发-Android Studio使用问题解决
回头一看,很久没来更新了,归其原因,还是懒癌发作,倒是生活作息规律了,几乎每天都在11点前休息.今天趁着培训,使用android studio,发现几个坑: 1.android studio每次都提示 ...
- 交换机做Channel-Group
core1#conf tEnter configuration commands, one per line. End with CNTL/Z.core1(config)#inter range g ...