2010-11-07 4 views
3

J'ai un petit problème: j'ai créé deux tableaux mutables et ajouté un objet de "actProject" à "allProject". Tout fonctionne bien mais je ne sais pas comment afficher un seul objet de toutProjet (par exemple "Date").NSMutableArray - Comment accéder

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]); 

Comment obtenir "Date" seulement en accédant à "allProject"?

Des idées?

Répondre

6

[[allProject objectAtIndex:0]objectAtIndex:2]

Il est essentiellement un tableau dans un tableau, vous le traiter comme tel.

0

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

2

Si j'understod droit que vous recherchez:

[[allProject objectAtIndex:0] objectAtIndex:2]

De cette façon, en Objective-C vous pouvez imbriquer des messages aux objets. Vous n'avez pas besoin de convertir ces objets en (NSString *)

5

Vous attendez-vous à ce que [allProject objectAtIndex: 0] soit un "Nom" NSString *? En fait, c'est un NSMutableArray, actProject. Vous stockez simplement un tableau à l'intérieur d'un tableau. Ce n'est généralement pas une bonne idée.

Si vous souhaitez ajouter les éléments individuels de actProject à allProject, utilisez -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.