2010-11-07 73 views
3

我有一個小問題:我創建了兩個可變數組,並將「actProject」對象添加到「allProject」。一切工作正常,但我不知道如何顯示allProject(例如「日期」)的單個對象。NSMutableArray - 如何訪問

NSMutableArray *allProject= [[NSMutableArray alloc]initWithObjects: nil]; 
NSMutableArray *actProject = [[NSMutableArray alloc]initWithObjects: nil]; 
[actProject addObject:(NSString*)@"Name"]; 
[actProject addObject:(NSString*)@"Description"]; 
[actProject addObject:(NSString*)@"Date"]; 

[allProject addObject:actProject]; 

NSLog(@"test: %@",[allProject objectAtIndex:0]); 

如何通過訪問「allProject」來獲取「日期」?

任何想法?

回答

6

[[allProject objectAtIndex:0]objectAtIndex:2]

這基本上是一個數組中的數組,所以你把它看作。

0

NSLog(@"test: %@",[[allProject objectAtIndex:0] objectAtIndex:2]);

2

如果我understod正確的您正在尋找:在Objective-C可以嵌套消息對象

[[allProject objectAtIndex:0] objectAtIndex:2]

以這種方式。 順便說一句,你不需要投這些對象到(NSString *)

5

你是否期待[allProject objectAtIndex:0]是一個NSString *「名稱」?實際上,它是一個NSMutableArray,actProject。你只是將數組存儲在數組中。這通常不是一個好主意。

如果要將actProject的各個項目添加到allProject,請使用-addObjectsFromArray。

NSMutableArray *allProject= [NSMutableArray array]; 
NSMutableArray *actProject = [NSMutableArray array]; 
[actProject addObject:@"Name"]; 
[actProject addObject:@"Description"]; 
[actProject addObject:@"Date"]; 

[allProject addObjectsFromArray:actProject]; 

NSLog(@"test: %@",[allProject objectAtIndex:0]); //should be @"Name" now.