Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在IOS上的Swift 3应用程序中触摸一行时,调用的视图控制器方法的顺序是什么?_Ios_Swift - Fatal编程技术网

在IOS上的Swift 3应用程序中触摸一行时,调用的视图控制器方法的顺序是什么?

在IOS上的Swift 3应用程序中触摸一行时,调用的视图控制器方法的顺序是什么?,ios,swift,Ios,Swift,自2013年以来,我们一直在研究和构建基本的IOS应用程序。我通常对目标C和Swift 3感到满意 问题是,除了这两种语言都有其古怪的“问题”之外,构建IOS应用程序还涉及太多的GUI争论和争论,以及在主细节应用程序中选择一行时调用哪些视图控制器方法的看似任意的决定的模糊可笑之处。特别可笑的是,它现在看起来和Swift语法一样不一致,而且在一个移动目标平台上开发应用程序似乎很愚蠢……特别是当目标已经很难瞄准时,它就在一个地方 那么…今天的主要问题…在XCode的主细节模板中,“didSelect

自2013年以来,我们一直在研究和构建基本的IOS应用程序。我通常对目标C和Swift 3感到满意

问题是,除了这两种语言都有其古怪的“问题”之外,构建IOS应用程序还涉及太多的GUI争论和争论,以及在主细节应用程序中选择一行时调用哪些视图控制器方法的看似任意的决定的模糊可笑之处。特别可笑的是,它现在看起来和Swift语法一样不一致,而且在一个移动目标平台上开发应用程序似乎很愚蠢……特别是当目标已经很难瞄准时,它就在一个地方

那么…今天的主要问题…在XCode的主细节模板中,“didSelectRowAt”或其当前的Swift标题在哪里?它被什么替换了

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

附言:我非常喜欢团结。真的希望一个精简的2D版本能为2D应用程序制作。直截了当地说。现在,苹果并没有让我想到“不同”…除了想到不同的IDE…它让我想到:“XCode团队在苹果做什么?为什么?”

那么…今天的主要问题是…didSelectRowAt在哪里或是其他什么地方 目前的Swift标题是XCode中的主细节模板中的go 它被什么取代了

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

如果您想找到它,只需在
MasterViewController
中键入
didSelectRow
,然后选择autocomplete建议的第一件事

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    <#code#>
}
注意:该模板显示了在使用情节提要分段时显示详细视图的方法的正确用法。
didSelectRowAt
方法会引起混淆,因为它实际上是在
prepare(for:sender:)
之后运行的,您可以通过调用
self.tableView.indexPathForSelectedRow
prepare(for:sender:)
中获取所选的
indexath

那么,
didSelectRowAt
仍然有用吗


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

不清楚您在问什么,请用一个容易理解的问题重新措辞。如果您将这句话改写为更简洁的话,您会得到更好的帮助,明确定义的问题,没有所有不必要的评论和意见。谢谢澄清!遗憾的是,组装主细节风格的GUI似乎仍然是一种模糊而复杂的方式。如果可能的话,您能否澄清为什么有多个TableView方法,以及从何处调用它们?TableView虽然复杂,但设计优雅。它们具有高度的可定制性、灵活性,并且提供了代码重用的良好示例。我建议您在谷歌上搜索UITableView初学者概述和教程。例如,这个:。我已经回答了你原来的问题。请点击灰色复选标记将其变为绿色,接受我的答案。谢谢,再次谢谢。我通常对使用表视图的基本知识很熟悉……但是XCode附带的IOS模板看起来仍然像意大利面条代码。老实说,这么一家富有的公司如此草率似乎很可笑。我真心希望苹果能在软件架构团队中加入一些优秀的设计师。我仍然想知道为什么多个tableView方法不能组合在一起。碰巧知道为什么?我对苹果的设计选择一无所知。尽管API有点迟钝,但它们确实展示了一些可靠的OOP设计模式和原则,并在设计中提供了很大的灵活性,而无需大量代码。他们的一些设计选择是以Objective-C的功能和局限性为指导的。他们不怕改变,所以Swift和各种macOS和iOS API很可能会在未来发展。我现在知道,主要问题是我指的是更新的split view MD应用程序模板。要复杂得多。在没有使用didselectrowat方法的情况下,仍然没有从头构建一个功能正常的副本。
prepare(for segue: UIStoryboardSegue, sender: Any?)