对UITableView使用didSelectRowAtIndexPath或prepareForSegue方法?

2024-03-06

我正在使用情节提要,并且有一个 UITableView。我有一个从我的表推送到详细 VC 的 segue 设置。但我应该使用哪种方法来处理这个问题呢?我必须将几个对象传递到详细视图。但我用吗didSelectRowAtIndex or -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender?


如果你使用prepareForSegue:sender:那么如果您稍后决定从表视图之外的某些控件触发 segue,则无需进行太多更改。

The prepareForSegue:sender:消息被发送到当前视图控制器,所以我建议这样:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Assume self.view is the table view
    NSIndexPath *path = [self.tableView indexPathForSelectedRow];
    DetailObject *detail = [self detailForIndexPath:path];
    [segue.destinationViewController setDetail:detail];
}

在斯威夫特中:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let path = self.tableView.indexPathForSelectedRow()!
    segue.destinationViewController.detail = self.detailForIndexPath(path)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对UITableView使用didSelectRowAtIndexPath或prepareForSegue方法? 的相关文章

随机推荐

  • WPF DataGrid - 如何在按下 Tab 键后将键盘焦点移动到新添加的行

    如果我们在最后一行的最后一列上按 Tab 键 WPF DataGrid 将添加一个新行 但添加新行后 焦点将移至网格的顶行 我们如何确保焦点移动到新行的第一列 你可以尝试类似的东西 this SelectRowCell this Items
  • php“curl”不起作用[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 从 Excel 工作簿 VSTO 调用 Excel 加载项函数

    我想在 Excel Add In 2007 解决方案中创建一个方法 可以从我的 Excel Workbook 2007 解决方案中调用该方法 我解释一下 我想从Excel工作簿2007解决方案的代码隐藏文件中调用Excel加载项的方法 我不
  • 读取大型制表符分隔文件分块时出现异常

    我有一个 350MB 制表符分隔的文本文件 如果我尝试将其读入内存 则会出现内存不足异常 所以我正在尝试一些类似的事情 即只阅读几列 import pandas as pd input file and path r C Christian
  • Python 256位哈希函数,带数字输出

    我需要一个具有 256 位输出 如 long int 的哈希函数 首先 我认为我可以使用 hashlib 中的 SHA256 但它有一个字符串输出 我需要一个数字来计算 将 32 字节字符串转换为 long 也可以 但我没有找到任何东西 在
  • 快速文件复制并取得进展

    我正在为 Linux 编写一个 SDL 应用程序 它可以从控制台运行 无 X 服务器 我拥有的一个功能是文件复制机制 它将特定文件从 HDD 复制到 USB 闪存设备 并在 UI 中显示此复制的进度 为此 我使用简单的 while 循环并按
  • 当嵌入类型具有 UnmarshalJSON 时,json.Unmarshal 失败

    我正在尝试解组具有嵌入类型的结构 当嵌入类型具有 UnmarshalJSON 方法时 外部类型的解组失败 https play golang org p Y Tt5O8A1Q https play golang org p Y Tt5O8A
  • 编辑pip安装的包

    我正在尝试编辑通过 pip 安装的一个名为 py mysql2pgsql 的包 将数据库从 mysql 转换为 postgre 时出现错误 就像this https stackoverflow com questions 26008398
  • 保留 string_agg 内部的不同顺序

    Mysql函数 with recursive locpais as select l id l nome l tipo tid lp pai from loc l left join locpai lp on lp loc l id whe
  • 根据类别对表列的所有值求和

    我正在尝试根据特定类检索 td 中所有值的总和 该代码不会抛出任何错误 但我的总和始终为 0 数值是否必须以特定方式指定 我在这里看到了一些其他答案 从哪里模仿了代码 我没有看到我的和他们的有任何真正的区别 所以我很困惑为什么我的不起作用
  • 如何等待ShellExecute运行?

    我设法在 VC 中使用 ShellExecute 来启动文档 现在我希望运行一个接收一些参数的命令行工具 并在后台运行 隐藏 而不是最小化 并让它阻止我的程序流程 以便我能够等待它完成 如何更改命令行 ShellExecute NULL o
  • 如何设置xAxis标签之间的间距

    我遇到了图表显示的问题 你可以从图片中看到它 旧版本的图表有apispaceBetweenLabels设置标签之间的间距 我只找到apispaceMax and spaceMin在最新版本中 我尝试使用它们来设置标签之间的空间 但失败了 我
  • NLTK Python 中的词义消歧

    我是 NLTK Python 的新手 我正在寻找一些可以进行词义消歧的示例应用程序 我在搜索结果中有很多算法 但没有示例应用程序 我只是想传递一句话 并想通过参考wordnet库来了解每个单词的含义 谢谢 我在 PERL 中找到了类似的模块
  • 为 Node / MongoDB 应用程序播种的最佳方法是什么?

    所以 我是 MEAN 堆栈的新手 在尝试为 MongoDB 播种时遇到了困难 我正在使用 Mongoose 与数据库进行通信 并且有大量文档表明我应该能够使用填充的 JSON 文件进行播种 我尝试过的 节点 mongo 种子 https w
  • 不使用 oledb 将 Excel 工作表数据导入到 datagrid

    在我的基于 Windows 的应用程序中 C 我想导入 Excel 工作表以在 DatatGridView 中显示其数据 我不想使用 oledb any Help using Excel Microsoft Office Interop E
  • 为什么 gets() 被弃用? [复制]

    这个问题在这里已经有答案了 使用时gets 在我的代码中 编译器大喊 warning the gets function is dangerous and should not be used and warning gets is dep
  • 如何使用 php 和 shell 脚本捕获和提供 telnet?

    这就是我想使用 php 完成的任务 可能使用 excel 使用名为 proxychains 的程序远程登录到 whois 注册商 proxychains telent whois someregistrar 43 如果失败 gt 重试 1
  • xPath:获取父级和第二个兄弟级

    我有一个巨大的 XML 我需要在其中找到支付金额 它距离单元格 2 个单元格CellText amount
  • Google 为现有自动完成参考提供了 API 调用返回 NOT_FOUND 的详细信息

    我有一个问题也许有人也有同样的问题 我正在调用 google place autocomplete api 调用 然后我向用户展示结果 他可以选择地点 根据选择 我正在拨打地点详细信息并检索该地点的详细信息 我的问题是 某些情况下详细信息服
  • 对UITableView使用didSelectRowAtIndexPath或prepareForSegue方法?

    我正在使用情节提要 并且有一个 UITableView 我有一个从我的表推送到详细 VC 的 segue 设置 但我应该使用哪种方法来处理这个问题呢 我必须将几个对象传递到详细视图 但我用吗didSelectRowAtIndex or vo