iOS中具有segues和表视图的常见模式

问题描述 投票:0回答:2

我有一个用户单击UITableViewCell的设置,这会触发一个segue到一个弹出到堆栈的'detail'视图控制器。

第一,

用户点击 - > [myVC tableView didSelectRow ...] - 这是我可以计算出哪个单元格以及我的用户想要修改或访问哪个模型对象的地方。

第二,

用户点击 - > [myVC prepareForSegue ...] - 这是我用正确的模型对象设置我的详细视图控制器的地方。

那么,我只是将所选模型对象存储在被调用的两个函数之间的实例变量中吗?

ios objective-c uitableview uistoryboardsegue
2个回答
0
投票

prepareForSegue中,sender参数将是单元格,因此您可以找出在那一点上被挖掘的那个。您还可以查看tableview的selectedIndexPath属性。

您不需要实现这两个功能。


0
投票

我知道您需要在点击表视图行后将模型实例传递给详细信息视图控制器。你有一些方法可以实现这一目标:

  1. 您可以使用模型的数据类型在视图控制器中创建属性。我们将它命名为firstObject。然后,在didSelectRow内部,您可以设置此属性或根据您的需要更新它。然后,在prepareForSegue中,您可以通过执行以下操作将此实例传递给您的详细信息视图控制器:detailsVC.detailsObject = firstObject
  2. prepareForSegue中,您可以使用indexPathForSelectedRow.row获取当前tapped表视图行的值。假设您有一个包含模型的不同对象的数组,您需要根据抽头表视图行索引将它们发送到您的详细信息视图控制器,您可以执行以下操作:detailsVC.detailsObject = myObjectsArray[myTableView.indexPathForSelectedRow.row]

我希望我能够让你更清楚。

© www.soinside.com 2019 - 2024. All rights reserved.