不同的 类 一起工作

Different classes work together

我在 macOS 上使用 swift 3,我有一个一般性问题。 在我的 Storyboard 中有两个 View Controller,每个 View Controller 都有一个 tableview。

示例: 查看控制器 A > VC_A.class 查看控制器 B > VC_B.class

两个视图控制器都是一个拆分视图控制器的元素。 现在我想通过拖放将一行元素形式 VC A 放到 VC B 中。如果 VC 在一个 class.

中,这很好用

但现在我想像下面的示例那样拆分它(VC_A 和 VC_B.class)

但是我如何控制 VC_B.class 中 VC_A 的 iboutlet tblview?

您可以为此使用委托和协议。使用您的界面设置协议 class 以编辑表格,例如

protocol EditableTableView {
    func insertCell()
}

对于您的两个 ViewController,将它们设置为遵守此协议,实现 insertCell 函数并添加一个委托指针。

class ViewControllerA : EditableTableView {

    func insertCell() {
    ... add your code to insert a cell into VC A...
    }

    weak var otherTableViewDelegate : EditableTableView?
}

class ViewControllerB : EditableTableView {

    func insertCell() {
    ... add your code to insert a cell into VC B...
    }

    weak var otherTableViewDelegate : EditableTableView?
}

在您的父拆分中 VC 您可以设置委托指针,以便它们指向另一个视图控制器

viewControllerA.otherTableViewDelegate = viewControllerB
viewControllerB.otherTableViewDelegate = viewControllerA

现在只要你想在另一个控制器中插入一个单元格,你就可以调用

self.otherTableViewDelegate?.insertCell()