Objective - c  Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such as NSArray and NSDictionary whose instances exist just to hold onto other objects. cocoa 提供了一系列的集合类,例如,NSarray,NSdictionary.它们存在的目的就是为了保持其他对象. 1.1.1N…
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…
NSNumber是NSValue的子类,前者只能包装数字,后者可以包装任意值.NSArray.NSDictionary只能存储OC对象,不能存储结构体.因此,如果想要在NSArray.NSDictionary里放结构体,可以曲线救国,将结构体包装成OC对象,再放到NSArray.NSDictionary等集合类中. void value() { CGPoint point = CGPointMake(, ); // 将结构体变量包装成一个对象 NSValue *value = [NSValue…
1.概念 NSArray,NSDictionary只能放OC对象,不能放入基本数据类型 必须使用包装类NSNumber,把基本数据类型包装成OC对象 不支持自动包装解包   void number() { NSNumber *number = [NSNumber numberWithInt:]; NSMutableArray *array = [NSMutableArray array]; [array addObject:number]; NSLog(@"%@", array); N…
1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary但是这些类只能存放OC对象类型的数据 2.如果要存放基本数据类型,必须先将基本暑假类型包装成对象类型然后再用集合类进行存储,OC中提供的包装类是NSNumber,NSValue.其中NSNumber继承于NSValue. 3.NSNumber主要针对于基本数据类型的包装,NSValue主要针对结构体…
前一篇说到了Foundation框架中的NSDirctionary类,这一一篇来看一下Foundation的其他常用的类:NSNumber,NSDate,NSException. 注:其实按照Java中集合的思想,应该还有一个Set,是的,OC中有NSSet和NSMutableSet这两个类的,但是,这里我为什么不单独介绍了呢?因为他的操作和NSArray是非常相似的,只是他和NSArray有一个区别就是他不能放重复数据,而且他也是无序的.其他没什么了,所以就不单独介绍了,而且NSSet在后面的…
1.NSNumber 这个类主要是用来封装基本类型的,说到这里,就不得不说一下了: OC中的集合是不允许存入基本类型的,所以NSNumber类就诞生了,需要将基本类型封装一下,然后存进去,这个类似于Java中的自动装箱和拆箱,Java中的集合其实也是不允许存入基本类型的,但是我们任然看可以那么操作,就是因为有自动装箱功能,如果你将Eclipse的JDK改成5.0之前的,你看看还能操作吗.. 注:那为什么基本类型不能存入到集合中呢? 原因是在操作集合的时候会操作集合元素中的方法,但是基本类型是没有…
========================== Foundation框架下的常用类 ========================== 一.[NSNumber] [注]像int.float.char.double等这种都是基础数据类型. [注]继承自C语言的基础变量类型(int,float,char.double等)不能被添加到数组和字典等oc专有的数据结构中.使用不方便,也不能通过添加类别等oc专有语法进行管理. [另]可以认为,NSNumber是基础类型数据转成对象类型数据的一个类.…
Objective-c 之Foundation之NSNumber ,NSValue, NSDate 1.NSNumber具体用法如下: 在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber.这是因为很多类(如NSArray)都要求使用对象,而int不是对象.NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象. 此外,还可以使用实例方法为先前分配的NSNumber对象设定指定的值,这些都是以initWith开头,比如in…
到目前为止,我们所讨论过的所有数字数据类型,如int型.float型和long型都是Objective-C语言中的基本数据类型,也就是说,它们都不是对象.例如,不能向它们发送消息.然而,有时需要作为对象使用这些值.例如,使用Foundation的对象NSArray,可以设置一个用于存储值的数组.这些值必须是对象,因此不能将任何基本数据类型直接存储到这些数组中.要存储任何基本数据类型(包括char数据类型),可以使用NSNumber类根据这些数据类型来创建对象. 一般来说,无须担心需要释放Foun…