Objective-C的数值类NSNumber、NSValue、NSNull

原创 2013年12月03日 20:46:19

1.NSNumber类

Cocoa提供了NSNumber类来包装基本数据类型,可以使用下列类方法创建新的NSNumber类对象:

+ (NSNumber *)numberWithChar:(char)value;
+ (NSNumber *)numberWithInt:(int)value;
+ (NSNumber *)numberWithFloat:(float)value;
+ (NSNumber *)numberWithBool:(BOOL)value;
只要将一个基本类型数据类型封装到NSNumber中后,通过实例方法重新获得它:

- (char)charValue;
- (int)intValue;
- (float)floatValue;
- (BOOL)boolValue;
- (NSString *)stringValue;
将创建方法和提取方法配对使用是完全可以的。NSNumber会对数据进行适当的转换。

2.NSValue类

NSNumber实际上是NSValue类de子类,NSValue可以包装任意值。

使用方法getValue:来提取数值:

- (void)getValue:(void *)value;
传递的是要存储这个数值的变量的地址。

Cocoa提供了常用的struct型数据转换成NSValue的便捷方法:

+ (NSValue *)valueWithPointer:(const void *)pointer;
+ (NSValue *)valueWithSize:(const void *)size;
+ (NSValue *)valueWithRect:(const void *)rect;

3.NSNull类

只有一个方法:

-(NSNull *) null;
按下面的方法将它添加到集合中:

[contact setObject:[NSNull null]forKey:@"home fax machine"];
访问它的方法如下:

id homefox;
homefox = [contact objectForKey:@"home fax machine"];
if (homefox == [NSNull null]){
     //no fax machine .rat ....
}

相关文章推荐

Objective-C边学边记-10:Foundation Kit快速教程之 各种数值(NSNumber,NSValue,NSNull

NSArray和NSDictionary只能存储对象,而不能直接存储任何基本类型的数据,如int、float 或 struct。但是你可以用对象来封装基本数值。例如,将int型数据封装到一个对象中,然...

Objective-C(Cocoa)中NSNumber、NSValue,NSNull类的简单应用

我们回顾一下,NSArray和NSDictionary只能存储对象,而不能直接存储任何基本类型的数据,如int、float和struct。不过,我们可以用对象来封装基本数值。如果我们想使用对象来处理基...

Objective-C(十、NSRange,point,size,rect,NSNumber,NSValue,NSNull)——iOS开发基础

NSRange,NS/CGPoint,NS/CGSize,NS/CGRect,NSNumber,NSValue,NSNull 的定义,使用,常用方法,注意要点等...

数值类对象:NSNumber,NSValue,NSNull

基本,集合,复杂,对象 可用对象封装基本数值,然后将对象放入NSArray或NSDictionary 中。 用对象封装基本数值后,即可给其发送消息。 数值类型包括:NSNumber,NSValu...
  • at9009
  • at9009
  • 2012年08月14日 11:38
  • 7841

Objective-C 10 NSValue和NSNull使用方法

我们知道NSArray和NSDictionary只能存储OC对象,不能存储基本数据、struct。但有时我们需要存储呢,那怎么办呢,可以将其封装成对象。那就要用到NSValue了。 NSValue ...

objective-c 中数据类型之五 数值类(NSNumber及NSNumberFormatter)

聊聊NSNumber, NSNumber可以封装c中基本数据类型 char,int,long,float,BOOL,NSInteger,CGFloat等。...

5. 18 Objective-C 常用数据类型(NSValue   NSNumber   NSString )的方法

Objective-C 常用数据类型(NSValue   NSNumber   NSString )的方法

Objective-C: Foundation——NSString、NSMutableString、NSNumber、NSValue、NSDate

1.NSString1.1 创建方法(3种) 1.2 截取方法(3种) 1.3 拼接方法(3种) 1.4 替换方法 1.5 从文件中读入字符串 #import #import "CZStudent....
  • cz_zol
  • cz_zol
  • 2016年08月26日 09:09
  • 497

黑马程序员——Foundation学习之NSNumber\NSValue\NSNull\NSFileManager\NSDate\NSData

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、NSNumber 1> 可以使用对象来封装基本数值; ...
  • mayday9
  • mayday9
  • 2015年05月10日 09:21
  • 134

iOS OC(四) 字符串NSString 可变数组NSMutableArray 不可变数组NSArray 数值对象类NSNumber NSValue 数值对象类NSNumber

OC(四) 字符串NSString 可变数组NSMutableArray 不可变数组NSArray 数值对象类NSNumber NSValue 数值对象类NSNumber...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Objective-C的数值类NSNumber、NSValue、NSNull
举报原因:
原因补充:

(最多只允许输入30个字)