2012-12-03 45 views
0

好的,所以我想將包含在一個視圖控制器中的表格的單元格中的名稱傳遞給另一個視圖控制器中的數組。我想通過也包含在第一個表格的單元格中的按鈕來完成此操作。通過單元格按鈕將單元格的名稱傳遞給另一個視圖

這裏就是表電池描述:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

static NSString *CellIdentifier = @"Cell"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

// add "add" button 
UIButton *addFriendButton = [UIButton buttonWithType:UIButtonTypeContactAdd]; 
addFriendButton.frame = CGRectMake(250.0f, 5.0f, 75.0f, 30.0f); 

[cell addSubview:addFriendButton]; 

[addFriendButton addTarget:self 
        action:@selector(addFriend:) 
        forControlEvents:UIControlEventTouchUpInside]; 

if(!cell) 
{ 
    cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
} 

cell.textLabel.text = [array objectAtIndex:indexPath.row]; 
return cell; 

} 

這裏是其中將要描述的按鈕的方法:

- (IBAction)addFriend:(id)sender 
{ 
    NSLog(@"Add friend."); 



} 

第一視圖控制器的名稱 - 一個做傳遞 - 被稱爲ViewController - 第二個視圖控制器 - 接收傳遞的信息 - 被稱爲MyMealViewController。我想要存儲傳入信息的數組稱爲myMenuArray。

我認爲這基本上是所有的相關信息。如果您需要我提供任何其他信息 - 或者您需要澄清我所問的問題 - 請將我的問題回覆給我,請讓我知道!

+0

目前還不清楚你的問題是什麼。什麼不工作?一個明顯的錯誤是,如果dequed cell爲零,則在完成單元配置後分配新的單元。您應該將單元格分配上移到出錯 – combinatorial

+0

的下面。感謝您指出錯誤,我按照您的建議對其進行了更改。至於我的問題:並不是說任何事情都「不起作用」,這只是我需要一些指導,以確定如何在第二個代碼塊中實現「addFriend」動作,一旦點擊按鈕就會傳遞該名稱。 –

回答

0

您可以使用

cell.textLabel.text = [array objectAtIndex:indexPath.row]; 

[[addFriendButton addTarget:self 
         action:@selector(addFriend:) toTarget:self  withObject:cell.textLabel.text] 
forControlEvents:UIControlEventTouchUpInside]; 

- (void)addFriend:(NSString *)theFriendName 
{ 
    NSLog(@"Add friend."); 
// Now here you make the instance of the new ViewController and you set the text you are  adding. 
MyViewController *theVC = [MyViewController alloc] initWithNibName:@"MyViewController"  bundle:nil]; 
[theVC setNewFriend:theFriendName]; 
[self presentModalViewController:theVC animated:YES]; 

} 
相關問題