ios - 通过 segue 传递子类的最佳方法是什么?

标签 ios swift

我有一个向下钻取的表格 View 应用程序,其中包含两个表格 View Controller 和一个详细信息 View 。数据模型是一个具有 11 个子类的类,每个子类对应一个数据部分。所有子类属性都是字符串或包含字符串数组。没有空属性。所有子类都具有相同的属性,但数据对其子类来说是唯一的。我的想法是使用 didSelectRow 方法来获取一个 indexpath.row 整数,我将使用它来初始化相应的子类,并通过 segue 将其传递到第二个 TableView Controller ,该 Controller 将包含详细 View 所需的所有数据。我知道如何使用 segue 来传递数据集合。然而,传递整个子类似乎涉及不同的方法。不知道如何解决这个问题。我是否需要在第二个 View Controller 中初始化一个与子类具有相同属性类型但不包含数据的类?第二个 TableView Controller 中的初始化事件将在 viewWillLoad 方法中发生。我的假设是有人可能知道更好的方法。

最佳答案

将数据从 View Controller 传递到另一个 View Controller 的标准方法是使用委托(delegate)。声明一个自定义协议(protocol),其中包含您需要从第二个 View Controller 访问的功能和属性。这样您就可以与第二个 View Controller 共享类实例。您可以在源 View Controller 中实现该协议(protocol),并在执行 segue 后将源 View Controller 的引用传递给第二个 View 。您将在应在源 View Controller 中声明的函数prepare(for segue: UIStoryboardSegue, sender: Any?) 中设置委托(delegate)。该函数将在调用performSegue后被调用。希望这会对您有所帮助。

关于ios - 通过 segue 传递子类的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40641808/

相关文章:

ios - 检测 UIKit for Mac (Catalyst) 中的单个修饰符键更改

ios - 坚持使用 Swift 1 并为 IOS7 及更高版本制作应用程序

ios - 如何为 QBChat 设置 currentUser()?

ios - 获取 Photos.app 中的图像数量?

ios - 列表中的重复条目

ios - Xamarin iOS UIButton 隐藏/显示

ios - 在WebView上加载FTP服务器中存储的图像/文件

ios - Realm 多对一关系示例

ios - Swift ios 不确定如何连接或使用嵌入式 UIPageViewController

swift - 如何在swift中继承结构?