繁体   English   中英

当我选择单元格时如何向另一个视图控制器发送一些值?

[英]How to send some value to another view controller when i select cell?

我有两个视图控制器: MainScreenViewControllerTargetScreenViewController

MainScreenViewController我具有带有自定义单元格的UITableView ;在TargetScreenViewController我具有需要更改的标签。

我需要获取一些值,例如索引路径,并将其传递给TargetScreenViewController并根据该值更改标签。

我已经在单元格中的触发的Segues中设置了推送Segue,但是如何传递一些值并将其传递到那里?

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    TargetView *target = [[TargetView alloc]initWithNibName:@"TargetView" bundle:nil];

    NSString *data = @"Success";

    target.incomingData = data;

}

在Tar​​getView中:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.mLabel.text = self.incomingData;
}

但标签为空= [

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    Class *yourObject=[self.arr objectAtIndex:indexPath.row];

    TargetView *vc=[[TargetView alloc] initWithNibName:@"TargetView" bundle:nil];

    vc.object=yourObject; //Create a p

    [self.navigationController pushViewController:vc animated:YES];

}

在您的TargetView中

-(void)viewDidLoad{

   self.lbl.text=self.object.value;

}

您可以发出通知,也可以通过对象发布通知。 您需要发送给第二个控制器的对象。

尝试这个 .....

1.在目标视图控制器中创建一个属性。

2。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
      targetviewcontroller * obj = create object here .
      obj.property = dataToBeSent ;

      ---------------
}

然后您将通过访问属性来获取数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM