首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

NSArray的根本操作代码

2013-11-09 
NSArray的基本操作代码?? ?/*---------------------------创建数组------------------------------*/??? /

NSArray的基本操作代码

?? ?/*---------------------------创建数组------------------------------*/

??? //NSArray *array = [NSArray alloc] initWithObjects:
??? @"One",@"Two",@"Three",@"Four",nil];

??? self.dataArray = array;
??? [array release];

??? //- (unsigned) Count;数组所包含对象个数;
??? NSLog(@"self.dataArray cound:%d",[self.dataArray count]);

??? //- (id) objectAtIndex: (unsigned int) index;获取指定索引处的对象;
??? NSLog(@"self.dataArray cound 2:%@",[self.dataArray objectAtIndex:2]);


??? /*--------------------------从一个数组拷贝数据到另一数组(可变数级)----------------------------*/????

??? //arrayWithArray:
??? //NSArray *array1 = [NSArray alloc] init];
??? NSMutableArray *MutableArray = [NSMutableArray alloc] init];
??? NSArray *array = [NSArray arrayWithObjects:
????????????????????? @"a",@"b",@"c",nil];
??? NSLog(@"array:%@",array);
??? MutableArray = [NSMutableArray arrayWithArray:array];
??? NSLog(@"MutableArray:%@",MutableArray);

??? array1 = [NSArray arrayWithArray:array];
??? NSLog(@"array1:%@",array1);


??? //Copy

??? //id obj;
??? NSMutableArray *newArray = [NSMutableArray alloc] init];
??? NSArray *oldArray = [NSArray arrayWithObjects:
???????????????????????? @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];

??? NSLog(@"oldArray:%@",oldArray);
??? for(int i = 0; i < [oldArray count]; i++)
??? {????????
??????? obj = [oldArray objectAtIndex:i] copy];
??????? [newArray addObject: obj];
??? }
??? //?????
??? NSLog(@"newArray:%@", newArray);
??? [newArray release];


??? //快速枚举

??? //NSMutableArray *newArray = [NSMutableArray alloc] init];
??? NSArray *oldArray = [NSArray arrayWithObjects:
???????????????????????? @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];????
??? NSLog(@"oldArray:%@",oldArray);

??? for(id obj in oldArray)
??? {
??????? [newArray addObject: obj];
??? }
??? //?????
??? NSLog(@"newArray:%@", newArray);
??? [newArray release];????


??? //Deep copy

??? //NSMutableArray *newArray = [NSMutableArray alloc] init];
??? NSArray *oldArray = [NSArray arrayWithObjects:
???????????????????????? @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];????
??? NSLog(@"oldArray:%@",oldArray);????
??? newArray = (NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers);
??? NSLog(@"newArray:%@", newArray);
??? [newArray release];????


??? //Copy and sort

??? //NSMutableArray *newArray = [NSMutableArray alloc] init];
??? NSArray *oldArray = [NSArray arrayWithObjects:
???????????????????????? @"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];????
??? NSLog(@"oldArray:%@",oldArray);
??? NSEnumerator *enumerator;
??? enumerator = [oldArray objectEnumerator];
??? id obj;
??? while(obj = [enumerator nextObject])
??? {
??????? [newArray addObject: obj];
??? }
??? [newArray sortUsingSelector:@selector(compare:)];
??? NSLog(@"newArray:%@", newArray);
??? [newArray release];



??? /*---------------------------切分数组------------------------------*/

??? //从字符串分割到数组- componentsSeparatedByString:
??? NSString *string = [NSString alloc] initWithString:@"One,Two,Three,Four"];
??? NSLog(@"string:%@",string);????
??? NSArray *array = [string componentsSeparatedByString:@","];
??? NSLog(@"array:%@",array);
??? [string release];


??? //从数组合并元素到字符串- componentsJoinedByString:
??? NSArray *array = [NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];
??? NSString *string = [array componentsJoinedByString:@","];
??? NSLog(@"string:%@",string);



??? /*******************************************************************************************
???? NSMutableArray
???? *******************************************************************************************/
??? /*---------------给数组分配容量----------------*/
??? //NSArray *array;
??? array = [NSMutableArray arrayWithCapacity:20];



??? /*--------------在数组末尾添加对象----------------*/
??? //- (void) addObject: (id) anObject;
??? //NSMutableArray *array = [NSMutableArray arrayWithObjects:
??? @"One",@"Two",@"Three",nil];
??? [array addObject:@"Four"];
??? NSLog(@"array:%@",array);



??? /*--------------删除数组中指定索引处对象----------------*/????
??? //-(void) removeObjectAtIndex: (unsigned) index;????
??? //NSMutableArray *array = [NSMutableArray arrayWithObjects:
??? @"One",@"Two",@"Three",nil];
??? [array removeObjectAtIndex:1];
??? NSLog(@"array:%@",array);



??? /*-------------数组枚举---------------*/????
??? //- (NSEnumerator *)objectEnumerator;从前向后
??? //NSMutableArray *array = [NSMutableArray arrayWithObjects:
??? @"One",@"Two",@"Three",nil];
??? NSEnumerator *enumerator;
??? enumerator = [array objectEnumerator];

??? id thingie;
??? while (thingie = [enumerator nextObject]) {
??????? NSLog(@"thingie:%@",thingie);
??? }


??? //- (NSEnumerator *)reverseObjectEnumerator;从后向前
??? //NSMutableArray *array = [NSMutableArray arrayWithObjects:
??? @"One",@"Two",@"Three",nil];
??? NSEnumerator *enumerator;
??? enumerator = [array reverseObjectEnumerator];

??? id object;
??? while (object = [enumerator nextObject]) {
??????? NSLog(@"object:%@",object);
??? }


??? //快速枚举
??? //NSMutableArray *array = [NSMutableArray arrayWithObjects:
??? @"One",@"Two",@"Three",nil];
??? for(NSString *string in array)
??? {
??????? NSLog(@"string:%@",string);
??? }



??? /*******************************************************************************************
???? NSDictionary
???? *******************************************************************************************/

??? /*------------------------------------创建字典------------------------------------*/
??? //- (id) initWithObjectsAndKeys;

??? //NSDictionary *dictionary = [NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];
??? NSString *string = [dictionary objectForKey:@"One"];
??? NSLog(@"string:%@",string);
??? NSLog(@"dictionary:%@",dictionary);
??? [dictionary release];


??? /*******************************************************************************************
???? NSMutableDictionary
???? *******************************************************************************************/

??? /*------------------------------------创建可变字典------------------------------------*/????
??? //创建
??? NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];

??? //添加字典
??? [dictionary setObject:@"One" forKey:@"1"];
??? [dictionary setObject:@"Two" forKey:@"2"];
??? [dictionary setObject:@"Three" forKey:@"3"];
??? [dictionary setObject:@"Four" forKey:@"4"];
??? NSLog(@"dictionary:%@",dictionary);

??? //删除指定的字典
??? [dictionary removeObjectForKey:@"3"];
??? NSLog(@"dictionary:%@",dictionary);


??? /*******************************************************************************************
???? NSValue(对任何对象进行包装)
???? *******************************************************************************************/

??? /*--------------------------------将NSRect放入NSArray中------------------------------------*/????
??? //将NSRect放入NSArray中
??? NSMutableArray *array = [NSMutableArray alloc] init];
??? NSValue *value;
??? CGRect rect = CGRectMake(0, 0, 320, 480);????
??? value = [NSValue valueWithBytes:&rect objCType:@encode(CGRect)];
??? [array addObject:value];
??? NSLog(@"array:%@",array);

??? //从Array中提取
??? value = [array objectAtIndex:0];
??? [value getValue:&rect];
??? NSLog(@"value:%@",value);


??? /*******************************************************************************************
???? 从目录搜索扩展名为jpg的文件
???? *******************************************************************************************/

??? //NSFileManager *fileManager = [NSFileManager defaultManager];
??? NSString *home;
??? home = @"../Users/";

??? NSDirectoryEnumerator *direnum;
??? direnum = [fileManager enumeratorAtPath: home];

??? NSMutableArray *files = [NSMutableArray alloc] init];

??? //枚举
??? NSString *filename;
??? while (filename = [direnum nextObject]) {
??????? if([filename pathExtension] hasSuffix:@"jpg"]){
??????????? [files addObject:filename];
??????? }
??? }

??? //快速枚举
??? //for(NSString *filename in direnum)
??? //{
??? //??? if([filename pathExtension] isEqualToString:@"jpg"]){
??? //??????? [files addObject:filename];
??? //??? }
??? //}
??? NSLog(@"files:%@",files);

??? //枚举
??? NSEnumerator *filenum;
??? filenum = [files objectEnumerator];
??? while (filename = [filenum nextObject]) {
??????? NSLog(@"filename:%@",filename);
??? }

??? //快速枚举
??? //for(id object in files)
??? //{
??? //??? NSLog(@"object:%@",object);
??? //}?

热点排行