2011-04-06 6 views
1

J'ai des difficultés à accéder à un tableau dans une structure. Comment puis-je accéder à un tableau stocké dans une structure? J'ai une structure, disons,accéder à un tableau dans une structure

@interface FoodDriveRow : NSObject 
{ 
NSMutableArray *teamData; 
} 
@property (nonatomic , retain) NSMutableArray *teamData; 
@end 

FoodDriveRow *row ; 

maintenant je veux accéder à la matrice.

Modifier

@interface TeamRow : NSObject 
{ 
NSString *membername; 
NSString *email; 
NSString *phone;  
} 
@property (nonatomic , retain) NSString *membername; 
@property (nonatomic , retain) NSString *email; 
@property (nonatomic , retain) NSString *phone; 
@end 

Je suis en train de stocker un objet de TeamRow dans le tableau par

[row.teamData insertObject:tRow atIndex:tIndex1];

et veulent obtenir les valeurs du tableau.

Merci ...

+1

pouvez-vous s'il vous plaît donner plus d'informations – ajay

+0

Je pense que vous avez besoin pour en savoir plus sur Objective-C et Cocoa avant de poser de telles questions. – dreamlax

+1

vous posez seulement des questions quand vous apprenez ... – Maulik

Répondre

4

Vous devez allouer le tableau, au moment de votre tableau a une valeur nil.

impliment -(id)init

Ensuite, dans ce que vous souhaitez allouer votre tableau et ajouter des objets à lui:

teamData = [[NSMutableArray alloc] init]; 
TeamRow *teamRow = [[TeamRow alloc] init]; 
[teamData addObject:teamRow]; 
[teamRow release]; 

Maintenant, vous pouvez les objets d'accès:

TeamRow *retrievedTeamRow = [teamData objectAtIndex:0]; 
1

Je ne suis pas sûr que je vous comprends, mais je pense que vous pouvez le faire en row.teamData

+0

par row.teamData Je n'ai pas pu accéder à la valeur d'un tableau à l'index spécifique – Maulik

+1

[row.teamData objectAtIndex: indexValue]; vous obtiendrez cela – visakh7

3
FoodDriveRow* myDriveRow; 

Utilisez-le comme ci-dessous, laisse supposer que vous stockez NSString dans le tableau

Pour Ajout

- (void)addObject:(id)anObject 

[myDriveRow.teamData addObject:myString]; 

Pour suppression

(void)removeObject:(id)anObject 

pour accéder à

- (id)objectAtIndex:(NSUInteger)index 
+0

ya thats vrai que je peux stocker des valeurs par [row.teamData insertObject: tRow atIndex: tIndex]; mais je veux aller chercher les valeurs – Maulik

+0

@maulik: Utiliser -> myObjectStoredInArray = [row.teamData objectAtIndex: tIndex]; – Jhaliya

1
[[row teamData] objectAtIndex: i]; 

où i est l'index dans le tableau.

2

Avez-vous essayé [row.teamData objectAtIndex:0] ou à partir de la classe elle-même, [self.teamData objectAtIndex:0]?

1

Ce n'est pas une structure (struct) que vous faites référence, il est un class appelé FoodDriveRow qui descend directement de NSObject.Pour accéder aux propriétés d'un objet, vous pouvez utiliser le style ancien:

[[row teamData] objectAtIndex:i] 

Ou vous pouvez utiliser la nouvelle syntaxe point:

[row.teamData objectAtIndex:i] 
Questions connexes