我在访问结构中的数组时遇到了麻烦。如何访问存储在结构中的数组?我有一个结构,比方说,
@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];
并希望从数组中获取值。
...谢谢
答案 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]