如何将tableview单元格值传递给另一个页面(uiviewcontroller)?

时间:2011-10-27 08:49:56

标签: iphone

哈,我每个人都有一个包含一些值的tabeview单元格。如果用户点击其中一个单元格,则会出现一个带按钮的子视图,并在popoup中有一个名为save的按钮。我需要的是当用户点击保存按钮时它使用单元格的值重定向到保存页面,并将其显示在保存页面的textview中。这是我重定向到保存页面的代码。

-(IBAction)buttonclick{
StatusViewController *detailViewController = [[StatusViewController alloc] initWithNibName:@"StatusViewController" bundle:nil];

    detailViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:detailViewController animated:YES];
    [UIView commitAnimations];
    [detailViewController release];}

3 个答案:

答案 0 :(得分:3)

将单元格的字符串值存储在类中的NSString值中。

如果需要上次选择的表格视图单元格中的字符串值。从委托方法

获取字符串值
NSString *localStringValue;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
  localStringValue = [tableView cellForRowAtIndexPath:indexPath].textLabel.text; 
}

在StatusViewController中创建NSString属性。

@interface StatusViewController : UIViewController {

}
@property(nonatomic, retain) NSString *yourStringProperty;

更改您的代码,如下所示,

StatusViewController *detailViewController = [[StatusViewController alloc] initWithNibName:@"StatusViewController" bundle:nil];

detailViewController.yourStringProperty = localStringValue;
在StatusViewController类中,您可以使用

访问字符串值
self.yourStringProperty

答案 1 :(得分:1)

答案 2 :(得分:1)

 NSUInteger row = [indexPath row];
 NSString value = [listOfItems objectAtIndex:row]; //use this code

 StatusViewController *detailViewController = [[StatusViewController alloc] initWithNibName:@"StatusViewController" bundle:nil];
detailViewController.label=value;
detailViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:detailViewController animated:YES];
[UIView commitAnimations];
[detailViewController release];

StatusViewController.h文件

 NSString *label;
 @property (nonatomic, assign) NSString *label;

StatusViewController.m

 -(void) viewdidload{
      NSLog(@"%@",label);
  }