访问结构中的数组

时间:2011-04-06 12:44:51

标签: iphone objective-c

我在访问结构中的数组时遇到了麻烦。如何访问存储在结构中的数组?我有一个结构,比方说,

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

FoodDriveRow *row ;

现在我想访问该数组。

修改

@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

我试图通过

将TeamRow的对象存储到数组中

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

并希望从数组中获取值。

...谢谢

6 个答案:

答案 0 :(得分:4)

您需要分配数组,此时数组的值为nil

Impliment -(id)init

然后在其中你想分配你的数组并向它添加一些对象:

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

现在您可以访问对象:

TeamRow *retrievedTeamRow = [teamData objectAtIndex:0]; 

答案 1 :(得分:3)

FoodDriveRow* myDriveRow;

使用如下所示,假设您将NSString对象存储在数组

添加

- (void)addObject:(id)anObject

[myDriveRow.teamData  addObject:myString];

删除

(void)removeObject:(id)anObject

用于访问

- (id)objectAtIndex:(NSUInteger)index

答案 2 :(得分:2)

您是否尝试过[row.teamData objectAtIndex:0]或来自班级内的[self.teamData objectAtIndex:0]

答案 3 :(得分:1)

我不确定我理解你,但我认为你可以通过row.teamData

来做到这一点

答案 4 :(得分:1)

[[row teamData] objectAtIndex: i];

其中i是数组中的索引。

答案 5 :(得分:1)

这不是您所指的结构(struct),而是名为class的{​​{1}}直接从FoodDriveRow下降。要从对象访问属性,可以使用旧样式:

NSObject

或者您可以使用新的点语法:

[[row teamData] objectAtIndex:i]