ios - 在 IOS 上的 Swift 3 应用程序中触摸一行时调用的 View Controller 方法的顺序是什么?

标签 ios swift

基本上自 2013 年以来一直在研究和构建基本的 IOS 应用程序。我总体上对 Objective C 和 Swift 3 感到满意...

问题是,除了这两种语言都有其古怪的“问题”之外,构建 IOS 应用程序涉及太多的 GUI 争论和争论,以及在选择 View Controller 方法时调用哪些 View Controller 方法的看似武断的决定的模糊荒谬。主详细信息应用程序中的一行。尤其可笑的是,它现在看起来像 Swift 语法一样不一致,并且在一个移动目标的平台上投入任何精力开发应用程序似乎是愚蠢的……尤其是当目标位于一个地方时已经很难瞄准时。

所以...今天的主要问题...“didSelectRowAt”或其当前的 Swift 标题今天在 XCode 的 Master Detail 模板中去了哪里,它被替换成了什么???

基本上只是想弄清楚当注册触摸事件以选择 TableView 上的一行时方法的顺序是什么。本质上希望,通过了解将运行的方法的顺序,然后我可以真正开始使用它们来构建有用的应用程序......而不是为 IOS GUI 的荒谬而烦恼。

PS:我非常喜欢Unity。真心希望能够为 2D 应用程序制作一个精简的 2D 版本。就这么直截了当。现在,Apple 并没有让我思考“不同”...除了考虑不同的 IDE...它让我思考:“XCode 团队在 Apple 做什么?为什么哦为什么?”

最佳答案

So...main issue today...where did "didSelectRowAt" or whatever its current Swift title is today go in the Master Detail template in XCode and what has it been replaced with???

主详细信息模板正在使用 segues。在这种情况下,您不需要 didSelectRowAt 方法。

如果您想找到它,只需在 MasterViewController 中输入 didSelectRow 并选择自动完成建议的第一个内容即可。

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    <#code#>
}

what the sequence of methods are when a touch event is registered to select a row on the table view

模板使用 Segues 转换到 DetailViewController。转场连接在 Storyboard中。您传输数据的机会在于:

prepare(for segue: UIStoryboardSegue, sender: Any?)

注意:该模板显示了使用 Storyboard segues 时显示详细 View 的方法的正确用法。 didSelectRowAt 方法会引起困惑,因为它实际上在 prepare(for:sender:) 之后运行,并且您可以在 内获取选定的 indexPath使用 self.tableView.indexPathForSelectedRow 调用准备(for:sender:)

So, is didSelectRowAt still useful?

当然,如果您不使用segues。在这种情况下,在 didSelectRowAt 内部,您需要自己实例化 DetailViewController,配置它,然后推送它。

关于ios - 在 IOS 上的 Swift 3 应用程序中触摸一行时调用的 View Controller 方法的顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42886984/

相关文章:

arrays - 如何在 Swift 4 中制作一定大小的数组?

ios - 迭代错误数组时出现 Swift 内存泄漏

ios - 从 Swift Xcode 6 中的应用程序调用 iPhone

ios - 不能快速在不同大小的类型之间使用 unsafeBitCast

ios - 如何使用在 NSUserDefaults 中保存值的开关显示/隐藏按钮

ios - 使用 NSURL 而不是 URL 的 dataTask

ios - 识别触发事件的 UIStepper

ios - 快速限制阵列容量会更有效吗?

ios - 通知中心 : BAD_ACCESS when Notification postet

ios - 如何在 NSPredicate 中定义临时变量?