NSNumber】的更多相关文章

========================== Foundation框架下的常用类 ========================== 一.[NSNumber] [注]像int.float.char.double等这种都是基础数据类型. [注]继承自C语言的基础变量类型(int,float,char.double等)不能被添加到数组和字典等oc专有的数据结构中.使用不方便,也不能通过添加类别等oc专有语法进行管理. [另]可以认为,NSNumber是基础类型数据转成对象类型数据的一个类.…
//将int类型转化成对象 ; NSNumber *numberString = [NSNumber numberWithInt:number]; //对象是可以放入数组的 NSArray *array = [NSArray arrayWithObject:numberString]; //转回来 int number2 = [numberString intValue]; //字符串转整型 NSString *string3 = "; int number3 = [string3 intVal…
NSNumber: 是OC中处理数字的一个类 NSValue是NSNumber的子类 如何处理: 把int,float,double  包装成一个对象 使用NSNumber的好处: 可以把基本数据类型的数据,保存到数组或字典中 // 定义基本数据类型 ; float b = 2.2f; double d = 1.22; ; // int 包装成 NSNumber NSNumber *intObj = [NSNumber numberWithInt:a]; NSMutableArray *arra…
问题引入,我想给NSString类扩展一些新的方法.在Objective-C中可以有两种方法,一是继承,二是类别.本文先不讨论类别,我们用继承的方法试一下: @interface StringEx : NSString - (void)myFunc; @end @implementation StringEx - (void)myFunc { NSLog(@"myFunc"); } 我想用下面的方法使用: StringEx* str = [[StringEx alloc] initWi…
Objective-c 之Foundation之NSNumber ,NSValue, NSDate 1.NSNumber具体用法如下: 在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber.这是因为很多类(如NSArray)都要求使用对象,而int不是对象.NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象. 此外,还可以使用实例方法为先前分配的NSNumber对象设定指定的值,这些都是以initWith开头,比如in…
在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现基本数据类型与对象类型的互相转换,而NSValue,则是实现结构体对象与对象类型的互相转换. NSNumber因为是实现基本数据类型与对象类型的互相转换,所以,必须是要有数据类型,而int ,char,BOOL,Float,Long,Integer等等等-都可以进行相应的转换 //1.将基本数据类型…
/*--------------------NSNumber--------------------*/     //包装基本数据类型          //1.创建number对象     //12,1.9,'A',YES     //整型     //(1)包装     NSNumber *intNum = [NSNumber numberWithInteger:];     NSNumber *floatNum = [NSNumber numberWithDouble:1.9];    …
NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init]; NSNumber *firstNum = [NSNumber numberWithInt:2]; //NSNumber 转为 NSString NSString *firstStr = [numFormatter stringFromNumber:firstNum]; //NSString 转为 NSNumber NSNumber *secondNum = [n…
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…
OC NSNumber NSValue iOS的集合对象不可以存储C语言基本类型,所有可以进行装箱和拆箱,来进行OC对象操作. NSNumber包装类 普通初始化 NSNumber * num1 = [[NSNumber alloc] initWithInt:20]; NSNumber * num2 = [NSNumber numberWithChar:'a']; 字面量初始化 NSNumber * num3 = @300; NSNumber * num4 = @123.2; NSNumber…
1.NSNumber 数值类. 作用:实现基本数据类型与OC对象类型的相互转化. 1> NSNumber创建对象 // 初始化方法 NSNumber *num1 = [[NSNumber alloc] initWithInt:]; // 类方法 NSNumber *num2 = [NSNumber numberWithInteger:]; // 字变量 NSNumber *num3 = @; NSNumber字面量 // 常量: NSNumber *intNumber = @; NSNumber…
NSNumber: @()     @小括号 或者        NSNumber * num = @3;    NSValue * value = @4; NSDictionary :@{} @大括号 NSArray :@[] @中括号…
我们经常需要把一个数字转成字符串,当你不需要配合其他字符串的时候可以用description. /** description属于NSObject 值是NSNumber时候,不用stringWithFormate来转化成字符串了.简便得多 在解析/赋值的时候比较有用,当我们需要NSString的时候,给我们的数据却是NSNumber.. */ //从字典取出的是NSNumber NSDictionary * dict = @{ , , }; //取出的NSNumber 被转换成了 NSStrin…
在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现基本数据类型与对象类型的互相转换,而NSValue,则是实现结构体对象与对象类型的互相转换. NSNumber因为是实现基本数据类型与对象类型的互相转换,所以,必须是要有数据类型,而int ,char,BOOL,Float,Long,Integer等等等-都可以进行相应的转换 Foundation框…
NSDate #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //通过date方法创建的时间对象,对象就保存了当前的时间: /* NSDate *now=[NSDate date]; NSLog(@"%@",now); //在now的基础上追加多少秒 // NSDate *date= [now dateByAddingTimeInte…
1.NSNumber可以表示多种基本数据类型,如int.bool.char.float.double,以及他们加了修饰符long.unsigned的类型.     2.创建方法可以使用numberWithInt: numberWithInterger.也可以使用initWithInt方法     3.获取的方法可以使用intValue.doubleValue或者返回字符串类型stirngValue     4.使用NSNumber的compare方法比较两个值,返回的对象可以转化为-1.0.1,…
我们在编码中,很多时候需要将C里面原生的数据封装成对象,这样可以用NSDictionary或者NSArray来存取访问.尤其是一些做适配的情况下,这种封装是不可避免的.Objective-C提供了不少类可以帮助我们,比较常见的是NSNumber,NSValue和NSData. NSNumber主要是用来封装ANSI C内置的数据,比如char,float,int等等.这个类提供了一批封装/解封的方法+ (NSNumber *)numberWithChar:(char)value;+ (NSNum…
IOS数组.字典.NSNumber 新写法—— @[].@{}   //标准写法 NSNumber * number = [NSNumber numberWithInt:]; NSArray * array = [NSArray arrayWithObjects:@"one", @"two", nil]; NSDictionary * dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1&qu…
NSIntger  CGFloat  NSNumber 1.NSIntger  (long) %ld NSInteger a=; NSLog(@"----------%ld",(long)a); LazyLoadDemo[:] ---------- 2.CGFloat %lf CGFloat scale=[[UIScreen mainScreen]scale];//得到设备的分辨率 //scale = 1; 的时候是代表当前设备是320*480的分辨率(就是iphone4之前的设备)…
前言 @interface NSNumber : NSValue @interface NSDecimalNumber : NSNumber 将基本数据类型包装成 OC 对象 1.NSNumber 与 基本数据类型 的相互转换 // 基本数据类型 转 NSNumber // 对象方法,将整形数据转换为 OC 对象 NSNumber *num1 = [[NSNumber alloc] initWithInt:123]; // 类方法, 将浮点型数据转换成 OC 对象 NSNumber *num2…
前言 public class NSNumber : NSValue public class NSDecimalNumber : NSNumber NSNumber 可以被赋值为各种数值类型.我们可以将一个 Int 类型的值直接传递给一个需要 NSNumber 类型参数或变量,Swift 会自动转换,如果两者类型不一致,会强制类型转换. 从 NSNumber 赋值给 Swift 数值类型是,数值类型会根据会更具声明类型将 NSNumber 强制转换. 1.Swift 数字类型 与 NSNumb…
NSArray.NSDictionary是不可以存储C语言中的基本数据类型的.NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray.NSDictionary等集合类中.用法如下: #import <Foundation/Foundation.h> void number() { // 将int类型的10 包装成 一个NSNumber对象 NSNumber *number = [NSNumber numberWithInt:]; NSLog(@"n…
1.nsnumber最重要的作用是可以封装任何的值对象,就是说nsnumber对象的类型可以是任何的类型. 如nsnumber *number = @"12" nsnumber *number1 = @"12.0" nsnumber * number2 = @"12.0000000" 您甚至可以使用 NSNumber 字面常量,创建封装的 Boolean 值和字符值. NSNumber *myBoolValue = @YES; NSNumber…
1 基本数据类型的封装 1.1 问题 我们所学的所有基本数据类型,如int.float.double.char等,都不是对象,不能向它们发送消息.然而,在Foundation中的许多类,如NSArray,都要求使用对象作为其值,因此不能将任何基本数据类型直接存储到这些类的对象当中.要存储任何基本数据类型,都必须将这些数据封装成对象. 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:封装整型数据 代码如下所示:   #import <Foundation/Foundation.h> in…
注:OC中数组和字典只能存储OC对象不能存放基本数据类型. NSNumber NSNumber可以用来把一个基本数据类型包装成一个NSNumber类型的对象. NSNumber *number = [NSNumber numberWithInt:]; // 将int类型的10 包装成一个NSNumber对象. NSLog(@"number=%@", number);//NSNumber类型对象可以当作字符串直接输出. NSMutableArray *array = [NSMutable…
前一篇说到了Foundation框架中的NSDirctionary类,这一一篇来看一下Foundation的其他常用的类:NSNumber,NSDate,NSException. 注:其实按照Java中集合的思想,应该还有一个Set,是的,OC中有NSSet和NSMutableSet这两个类的,但是,这里我为什么不单独介绍了呢?因为他的操作和NSArray是非常相似的,只是他和NSArray有一个区别就是他不能放重复数据,而且他也是无序的.其他没什么了,所以就不单独介绍了,而且NSSet在后面的…
1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary但是这些类只能存放OC对象类型的数据 2.如果要存放基本数据类型,必须先将基本暑假类型包装成对象类型然后再用集合类进行存储,OC中提供的包装类是NSNumber,NSValue.其中NSNumber继承于NSValue. 3.NSNumber主要针对于基本数据类型的包装,NSValue主要针对结构体…
Objective-C 支持的类型有两种:基本类型和类. 基本类型,如同 C 语言中的 int 类型一样,拿来就可以直接用.而类在使用时,必须先创建一个对象,再为对象分配空间,接着做初始化和赋值.类的初始化,需用类自身的方法(类方法).代码中所创建的对象,不用后,还得记着释放. NSNumber 是类,而 NSInteger 只不过是个基本类型. 既然 NSInteger 是基本类型,那么,使用起来就非常简单.声明一个变量,NSInteger myInt:直接赋值就可以了. 比如:myInt =…
2013-08-21 在Objective-C,包括int double float 等等再内的基础数据类型都不是一个类,所以就不能给它们发送消息,也就是说不能调用方法,那怎么办呢 ?Objective-C提供了一个 NSNumber 类来作为一个中转,可以将所有的普通数据类型转化为NSNumber类型,这样就符合Objective-C的消息机制了. NSNumber #import <Foundation/Foundation.h> int main (int argc, const cha…
1.概念 NSArray,NSDictionary只能放OC对象,不能放入基本数据类型 必须使用包装类NSNumber,把基本数据类型包装成OC对象 不支持自动包装解包   void number() { NSNumber *number = [NSNumber numberWithInt:]; NSMutableArray *array = [NSMutableArray array]; [array addObject:number]; NSLog(@"%@", array); N…