NSArray和NSMutableArray的用法,nsarray

來源:互聯網
上載者:User

NSArray和NSMutableArray的用法,nsarray

NSArray是靜態數組,就是它所指向的內容是不可改變的,它指向一段記憶體地區,一旦初始化,不能通過它對該記憶體地區的資料進行修改操作,但是它可以讀資料。

NSMutableArray是動態是NSArray的子類,可以對所指向的記憶體地區內容變更,並可以增加數組內容

NSArray和NSmutableArray的第一個資料的下標為0。


********************************************************************************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 copyNSMutableArray *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 sortNSMutableArray *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); //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);}//- (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 *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);//將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);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);}  for(NSString *arrayString1 in readArray1) {  //NSLog(@"arrayString1=%@",arrayString1);  NSArray *array1=[arrayString1 componentsSeparatedByString:@"#:)"];     NSString *name1=[array1 objectAtIndex:0];  NSString *page1=[array1 objectAtIndex:1];    [self.array addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:name1,@"name",page1,@"page",nil]];    NSString *fileString3=[NSString stringWithFormat:@"%@#:)%@",          name1,page1];  [self.markName addObject:fileString3];   } 


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.