NSValue&NSNumber
void testForNSValue(void)
{
int i=10;
// NSLog(@"encode(int)=%s",@encode(int));
// NSLog(@"encode(float)=%s",@encode(float));
// NSLog(@"encode(struct student)=%s",@encode(struct student));
NSValue* value =[[NSValue alloc]initWithBytes:&i objCType:@encode(int) ];
int ret;
[value getValue:&ret];
NSLog(@"ret=%i",ret);
struct s stt={88,99};
NSValue* value2 =[[ NSValue alloc]initWithBytes:&stt objCType:@encode(struct s)];
struct s newStt;
[value2 getValue:&newStt];
NSLog(@"newStt.a=%i, newStt.b=%i",newStt.a,newStt.b);
NSLog(@"objCType is %s", [value2 objCType]);
// @encode(struct s) == [value2 objCType]
int *p=&i;
NSLog(@"p=%p",p);
NSValue* v3 = [[ NSValue alloc]initWithBytes:&p objCType:@encode(int *)];
int *q;
[v3 getValue:&q];
NSLog(@"q=%p",q);
}
void testNSNumber(void)
{
//对4字节有符号整型
NSNumber *obj1 = [ NSNumber numberWithInt:123];
NSLog(@"obj1 is %i",[obj1 intValue]);
//对8字节有符号整型
NSNumber *obj2 = [ NSNumber numberWithInteger:88888888];
NSLog(@"obj2 is %li", [obj2 integerValue]);
//对4字节无符号整型
NSNumber * obj3 = [ NSNumber numberWithUnsignedInt:345];
NSLog(@"obj3 is %u", [obj3 unsignedIntValue]);
//对8字节无符号整型
NSNumber* obj4 = [ NSNumber numberWithUnsignedInteger:99999999];
NSLog(@"obj4 is %lu", [obj4 unsignedIntegerValue]);
//其它的基本数据类型的封装方法
// NSNumber numberWithUnsignedChar:<#(unsigned char)#>
// obj4 unsignedCharValue
// NSNumber numberWithShort:<#(short)#>
// obj4 shortValue
// NSNumber numberWithUnsignedLongLong:<#(unsigned long long)#>
// obj4 unsignedLongLongValue
NSNumber* obj5 = [ NSNumber numberWithBool:YES];
NSLog(@"obj5 is %i",[obj5 boolValue]);
int a;
NSNumber * obj6 = [NSNumber numberWithUnsignedLong:(unsigned long)&a];
int * add = (int *)[obj6 unsignedLongValue];
}
NSValue&NSNumber的更多相关文章
- NSValue NSNumber NSData类
NSValue NSNumber NSData类 步骤1 NSValue 我们先看看NSValue能做什么: 一个NSValue对象是用来存储一个C或者Objective-C数据的简单容器.它可以保存 ...
- NSNumber 与NSValue
NSNumber与NSValue关系与作用 .由于集合里只能存放对象,不可以存放基本数据类型,所以我们有时候需要讲一些对象比如基本数据类型,结构体等存到NSDictionary NSArray中,我们 ...
- ios 常用字符串的操作
//将NSData转化为NSString NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8S ...
- 黑马程序员——OC语言Foundation框架 NSArray NSSet NSDictionary\NSMutableDictionary
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一) NSNumber 将各种基本数据类型包装成NSNumber对象 @ ...
- OC之0801
1,字符串 字符串的创建:两种常用初始化方式 NSString *str=[[NSString alloc]initWithFormat:@"i am a boy"]; NSStr ...
- IOS NS 字符串 数组 字典 文件 动态 静态 操作
ios 常用字符串的操作 //将NSData转化为NSString NSString* str = [[NSString alloc] initWithData:response e ...
- iOS 面试题:OC基本概念题
1.什么是类和对象? 类是一组具有同样特征和功能的事物的抽象 对象描写叙述了一个物体的特征和行为实现 类是对象的抽象 对象是类的实例 2.OC中定义类,创建对象,使用对象. OC中定义类分为接口部分, ...
- ios 字符串的操作汇总
//将NSData转化为NSString NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8S ...
- objective-c之各种数值
各种数值 NSArray和NSDictionary都只能存储对象,不能存储任何基本类型的数据,如int,float,struct.因此我们可以用对象来封装基本的数值. NSNumber Cocoa提供 ...
随机推荐
- js基础篇——localStorage使用要点
localStorage主要用来替代cookie,解决cookie(可参考cookie使用要点)读写困难.容量有限的问题.localStorage有以下几个特点 1.localStorage是一个普通 ...
- 12种JavaScript MVC框架之比较
Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember. ...
- php实现留言功能
php真的挺好玩的! 先写出前台页面index.php: <!DOCTYPE html> <html lang="en"> <head> < ...
- [水煮 ReSharper] 高效开发—十个实用的快捷键
所有 ReSherper 的功能都可以使用快捷键.大部分功能都有默认快捷键,剩下的少数功能可以自定义快捷键. ReSharper 提供了两种快捷键的方式 Visual Studio:这种方式可以减少与 ...
- C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)
最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...
- Castle ActiveRecord相关错误
1.Could not compile the mapping document: (string)错误? 如果确保配置文件没有错误,那请检查用户身份,必须是Administrator才行,即使有管理 ...
- 15天玩转redis —— 第三篇 无敌的列表类型
据说60%的人使用redis看重的是redis中的list类型,那这个list有什么用呢???不用我说大家都明白,做队列使用呗,为什么用它呢,很简单呗, 因为有了它我就不需要专门的MQ产品啦,比如说 ...
- 【Java每日一题】20161019
20161018问题解析请点击今日问题下方的"[Java每日一题]20161019"查看 package Oct2016; import java.util.List; publi ...
- Time series database
https://en.wikipedia.org/wiki/Time_series_database https://influxdb.com/docs/v0.9/introduction/getti ...
- PopupWindow的使用
如图是效果图 2种常用PopupWindow的使用 下载地址:http://download.csdn.net/detail/qq_29774291/9683258 第一个展示一个下拉的Lis ...