Objective-C之数组


数组遍历的两种方式

 
#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; //也可以用:NSArray *array = [NSArray arrayWithObjects:@"One",@"Two",@"Three",nil];  NSArray* array = [[NSArray alloc] initWithObjects: @"One",@"Two",@"Three",nil]; //nil起结束标志的作用  NSLog(@"%lu", [array count]); //第一种遍历方法: for(int i = 0; i < array.count; i++) { //如果知道数组里存的对象如本题则可以用NSString接收,如果不知道则可以用id接收 //id obj = [array objectAtIndex:i]; NSString* str = [array objectAtIndex:i]; NSLog(@"%@", str); } //第二种变量方法:快速枚举 for(NSString* obj in array) { NSLog(@"%@", obj); } NSArray* array2 = [NSArray arrayWithArray:array]; [pool drain]; return 0; }

字符串分割成数组对象与连接

#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSString* str = @"one,two,three,four,five"; //分割字符创为数组,下例以“,”分割 NSArray* array = [str componentsSeparatedByString:@","]; for(NSString* obj in array) { NSLog(@"%@", obj); } //链接字符串,下例以空格连接 str = [array componentsJoinedByString:@" "]; NSLog(@"%@", str); [pool drain]; return 0; }

运行结果:

 

2012-06-24 23:18:51.394 demo8[412:707] one

2012-06-24 23:18:51.397 demo8[412:707] two

2012-06-24 23:18:51.398 demo8[412:707] three

2012-06-24 23:18:51.399 demo8[412:707] four

2012-06-24 23:18:51.401 demo8[412:707] five

2012-06-24 23:18:51.401 demo8[412:707] one two three four five

 

数组的插入:

NSArray只能管理OC的对象,它管理的这些对象可以是不同类型的。

数组对每一个对象具有拥有权。

#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; //往数组中插入内容 NSMutableArray* array1 = [NSMutableArray arrayWithCapacity:0]; [array1 addObject:@"one"]; NSLog(@"%@", array1); [array1 addObject:@"three"]; //都是插在末尾 NSLog(@"%@", array1); [array1 insertObject:@"two" atIndex:1]; //插入索引为几的位置 for(NSString* obj in array1) { NSLog(@"%@", obj); } //移除 [array1 removeObjectAtIndex:2]; NSLog(@"%@", array1); [pool drain]; return 0; }

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM