NSNumber, NSValue的使用

NSNumber

NSNumber *n = [NSNumber numberWithDouble:10.5];
int d = [n doubleValue];

int a = 20;
NSString *str = [NSString stringWithFormate:@"%d", a];
//string转int
[@"20" intValue];

//转化成NSNumber
@10
@YES
@‘A‘
@"A"

int value = 100;
@(value)

  

NSValue

//结构体转为Value对象
CGPoint p = CGPointMake(10, 10);
NSValue *value = [NSValue valueWithPoint:p];

//value转为对应的结构体
[value pointValue];
NSArray *array = @[value];

  

时间: 2024-12-07 06:57:59

NSNumber, NSValue的使用的相关文章

数值类对象:NSNumber,NSValue,NSNull

基本,集合,复杂,对象 可用对象封装基本数值,然后将对象放入NSArray或NSDictionary 中. 用对象封装基本数值后,即可给其发送消息. 数值类型包括:NSNumber,NSValue,NSNull类. oc不支持自动装箱 NSNumber类 创建方法 + (NSNumber *)numberWithChar:(char)value; + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithFloat:(floa

黑马程序员_ Objective-c 之Foundation之NSNumber ,NSValue, NSDate

Objective-c 之Foundation之NSNumber ,NSValue, NSDate 1.NSNumber具体用法如下: 在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber.这是因为很多类(如NSArray)都要求使用对象,而int不是对象.NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象. 此外,还可以使用实例方法为先前分配的NSNumber对象设定指定的值,这些都是以initWith开头,比如in

黑马程序员——Foundation框架常用类(NSNumber/NSValue)

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 简介 引入:NSArray.NSSet.NSDictionary这些OC集合都只能存放OC对象,不能存放基本数据类型(int.char.double...).如果我们想将基本数据类型存到这些OC集合中,那么我们将基本数据类型(int.char.double...)包装成OC对象,那么就可以存到OC集合中.NSNumber可以将基本数据类型包装为OC对象. NSValue:用来存储一个C或者OC的

Foundation框架下的常用类(NSNumber, NSValue, NSDate,NSDateFormatter)

1.NSNumber 将基础数类型数据转成对象数据(比如int  float double BOOL  long等等) //通过NSNumber将基础数类型数据转成对象数据. NSNumber * intNumber = [[NSNumber alloc] initWithInt:50]; NSNumber * floatNumber = [NSNumber numberWithFloat:45.3]; //xcode4.6以后,可以采用如下写法 NSNumber * doubleNumber

OC -- 迭代器/NSNumber/NSValue/NSRange/NSSet/NSDate 及相互转换.(杂)

//一: 迭代器 // 数组 NSArray *arr= @[@"1",@"2",@"3",@"4",@"5"]; NSEnumerator *enumerator = [arr objectEnumerator]; NSString *str = nil; while (str = [enumerator nextObject]) { NSLog(@"%@",str); } // 字典

关于NSNumber & NSValue的方法知识简单了解

简单分享下,希望大牛们多多指点迷津,逐步修改,完善不足支持.借鉴之处,还请谅解 #import <Foundation/Foundation.h> typedef struct{             //C-结构体 int year; int month; int day; }Date; void text(){ Date mydate;                //定义一个结构体变量 Date date={2016,8,20}; char *[email protected](Da

NSNumber,NSValue和NSData

我们在编码中,很多时候需要将C里面原生的数据封装成对象,这样可以用NSDictionary或者NSArray来存取访问.尤其是一些做适配的情况下,这种封装是不可避免的.Objective-C提供了不少类可以帮助我们,比较常见的是NSNumber,NSValue和NSData. NSNumber主要是用来封装ANSI C内置的数据,比如char,float,int等等.这个类提供了一批封装/解封的方法+ (NSNumber *)numberWithChar:(char)value;+ (NSNum

OC07 -- 迭代器/NSNumber/NSValue/NSRange/NSSet/NSDate 及相互转换.(杂)

//一: 迭代器 //数组 NSArray *arr=@[@"1",@"2",@"3",@"4",@"5"]; NSEnumerator *enumerator = [arr objectEnumerator]; NSString *str = nil; while (str = [enumerator nextObject]) { NSLog(@"%@",str); } // 字典 /

NSNumber,NSValue和NSData之间有什么区别?分别应用在什么地方?

我们在编码中,很多时候需要将C里面原生的数据封装成对象,这样可以用NSDictionary或者NSArray来存取访问.尤其是一些做适配的情况下,这种封装是不可避免的.Objective-C提供了不少类可以帮助我们,比较常见的是NSNumber,NSValue和NSData. NSNumber主要是用来封装ANSI C内置的数据,比如char,float,int等等.这个类提供了一批封装/解封的方法+ (NSNumber *)numberWithChar:(char)value;+ (NSNum

Object - C 值对象 NSNumber和NSValue

在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现基本数据类型与对象类型的互相转换,而NSValue,则是实现结构体对象与对象类型的互相转换. NSNumber因为是实现基本数据类型与对象类型的互相转换,所以,必须是要有数据类型,而int ,char,BOOL,Float,Long,Integer等等等-都可以进行相应的转换 //1.将基本数据类型