天天看点

[iphone] NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)

nsdictionary 和 nsarray一样是不可变的对象。用来实现字典集合,在给定关键字(通常是一个nsstring字符串)下存储一个数值(可以是任何类型的对象)。 

nsdictionary使用类方法 dictionarywithobjectandkeys: 来创建字典;使用方法objectforkey: 来获取字典中的值。 

java代码  

[iphone] NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)

nsdictionary *dict = [nsdictionary dictionarywithobjectandkeys:@"just",@"firstname",     

                                                                @"code",@"lastname",    

                                                                @"[email protected]",@"email",    

                                                                nil];  

nsstring* firstname = [dict objectforkey:@"firstname"];   

nsmutabledictionary是可变对象,可以进行添加和删除操作。可以是用dictionarywithcapacity: (这里的容量也只是个参考值,表示对大小的限制)或 dictionary 来创建可变字典。 

[iphone] NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)

//nsmutabledictionary *dict = [[nsmutabledictionary alloc] init];    

nsmutabledictionary *dict = [nsmutabledictionary dictionary];    

[dict setobject:@"john" forkey:@"firstname"];    

[dict setobject:@"doe" forkey:@"lastname"];    

[dict setobject:@"[email protected]" forkey:@"email"];    

nslog(@"%@", dict);    

nsarray *keys = [dict allkeys];    

// values in foreach loop    

for (nsstring *key in keys) {    

    nslog(@"%@ is %@",key, [dict objectforkey:key]);    

}    

[dict removeobjectforkey:@"email"];   

addobject : 在数组末尾添加对象 (id)anobject 

removeobjectatindex : 删除特定索引处的对象 

objective-c数组相关操作。 

[iphone] NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)

// insert code here...    

nslog(@"数组");    

//指定多个字符串创建数组    

nsarray *array;    

array=[nsarray  arraywithobjects:@"0-asd",@"1-fds",@"2-哈咯",@"3-个人",nil];    

//数组的长度    

nslog(@"数组长度%d",array.count);    

//通过索引取得对象    

for(int i=0;i<array.count;i++)    

{    

    nsstring *secondstr=[array objectatindex:i];    

    nslog(secondstr,nil);    

//高速枚举法取得对象,objective-c2.0开始支持,    

for(nsstring *str in array)    

    nslog(str,nil);    

//对象的追加于删除    

//创建空数组    

nsmutablearray *mutarray=[nsmutablearray array];    

//追加对象    

[mutarray addobject:@"a"];    

[mutarray addobjectsfromarray:array];    

//插入对象    

nsstring *thstr=@"插入值";    

[mutarray insertobject:thstr atindex:4];    

//替换对象    

[mutarray replaceobjectatindex:2 withobject:@"替换"];    

//删除所有对象    

//[mutarray removeallobjects];    

//删除最后的对象    

[mutarray removelastobject];    

//删除索引为index的对象    

[mutarray removeobjectatindex:0];    

//删除所有于object同值的对象    

[mutarray removeobject:@"0-asd"];    

//删除数组中所有与object等价的对象    

[mutarray removeobjectidenticalto:thstr];    

//删除数组中所有与数组array包含相同的元素    

[mutarray removeobjectsinarray:array];    

nslog(@"%@",mutarray);  

nsdictionary 常用方法总结 

+(id)dictionarywithobjectsandkeys:obj1,key1,obj2,key2,......nil

顺序添加对象和键值来创建一个字典,注意结尾是nil

-(id)initwithobjectsandkeys::obj1,key1,obj2,key2,......nil

初始化一个新分配的字典,顺序添加对象和值,结尾是nil

-(unsigned int)count

返回字典中的记录数

-(nsenumerator*)keynsenumerator

返回字典中的所有键到一个 nsenumerator 对象

-(nsarray*)keyssortedbyvalueusingselector:(sel)selector

将字典中所有键按照selector 指定的方法进行排序,并将结果返回

-(nsenumerator*)objectenumerator

返回字典中所有的值到一个 nsenumetator 类型对象

-(id)objectforkey:key

返回指定key 值的对象

nsmutabledictionary 常用方法总结 

+(id)dictionarywithcapacity:size

创建一个size大小的可变字典

-(id)initwithcapacity:size

初始化一个size 大小的可变字典

-(void)removeallobjects

删除字典中所有元素

-(void)removeobjectforkey:key

删除字典中key位置的元素

-(void)setobject:obj forkey:key

添加 (key , obj)到字典中去;若key已经存在,则替换值为 obj

nsarray 不可变数组 常用方法 

+(id)arraywithobjects:obj1,obj2,...nil

创建一个新的数组,obj1,obj2......是他的元素对象,以nil对象结尾

-(bool)containsobject:obj

确定数组中是否包含对象obj

-(nsuinteger)count

返回数组元素个数

-(nsuinteger)indexofobject:obj

第一个包含obj元素的索引号

-(id)objectatindex;i

返回存储在位置 i 的对象

-(void)makeobjectsperformselector:(sel)selector

将 selector 只是的消息发送给数组中的每个元素

-(nsarray*)sortedarrayusingselector:(sel)selector

根据selector 指示的比较方法对数组进行排序

-(bool)writetofile:path atomically:(bool)flag

将数组写入指定的文件中,如果 flag 为 yes,则需要先创建一个临时文件

nsmutablearray 常用方法总结 

array

创建一个空数组

+(id)arraywithcapacity:size

创建一个数组,指定容量为size

初始化一个新分配的数组,指定容量为size

-(void)addobject:obj

将对象obj添加到数组末尾

-(void)insertobject:obj atindex:i

将对象 obj 插入到索引为 i 的位置

-(void)replaceobject:obj atindex:i

将数组中索引为 i 处的元素用obj 置换

-(void)removeobject:obj

从数组中删除所有是 obj 的对象

-(void)removeobjectatindex:i

从数组中删除索引为 i 的对像

-(void)sortusingselector:(sel)selector

用 selector 只是的比较方法将数组排序