2011-04-06 115 views
1

我在訪問結構中的數組時遇到問題。我如何訪問存儲在結構中的數組?我有一個結構,說,訪問結構中的數組

@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 

我試圖通過

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

存儲TeamRow的對象的數組,並希望從陣列中獲取值。

謝謝...

+1

可以請您給一些更多的信息 – ajay 2011-04-06 12:46:13

+0

我想你需要在提出這些問題之前瞭解更多關於Objective-C和Cocoa的知識。 – dreamlax 2011-04-06 12:52:55

+1

你只會在學習時提出問題... – Maulik 2011-04-06 12:59:37

回答

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

我不知道我理解你,但我認爲你可以通過row.teamData

+0

by row.teamData我無法在特定索引處訪問數組的值 – Maulik 2011-04-06 12:49:25

+1

[row.teamData objectAtIndex:indexValue];會得到你 – visakh7 2011-04-06 12:54:46

3
FoodDriveRow* myDriveRow; 

使用它,如下做到這一點,讓我們假設你存儲的NSString對象數組

添加

- (void)addObject:(id)anObject 

[myDriveRow.teamData addObject:myString]; 

去除

(void)removeObject:(id)anObject 

用於訪問

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

亞那是真的我可以存儲值[row.teamData insertObject:tRow atIndex:tIndex];但我想從中獲取值 – Maulik 2011-04-06 12:51:41

+0

@maulik:Use - > myObjectStoredInArray = [row.teamData objectAtIndex:tIndex]; – Jhaliya 2011-04-06 12:54:00

1
[[row teamData] objectAtIndex: i]; 

哪裏我是數組中的索引。

2

您是否嘗試過[row.teamData objectAtIndex:0]或從班內本身[self.teamData objectAtIndex:0]

1

這不是你所指的結構(struct),它是一個class,稱爲FoodDriveRow,它直接從NSObject下降。爲了從訪問對象的屬性,你可以使用舊的風格:

[[row teamData] objectAtIndex:i] 

或者您可以使用新的點語法:

[row.teamData objectAtIndex:i]