gpt4 book ai didi

macos - 不同的类(class)一起工作

转载 作者:行者123 更新时间:2023-12-04 19:30:09 26 4
gpt4 key购买 nike

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

例子:
查看 Controller A > VC_A.class
查看 Controller B > VC_B.class

两个 View Controller 都是一个 Split View Controller 的元素。
现在我想通过拖放将一行元素从 VC A 放到 VC B 中。这很好用,如果两个 VC 都在一个类中。

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

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

最佳答案

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

protocol EditableTableView {
func insertCell()
}

对于您的两个 ViewController,将它们设置为遵守此协议(protocol),实现 insertCell 函数并添加一个委托(delegate)指针。
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 中,您可以设置委托(delegate)指针,以便它们指向另一个 View Controller
viewControllerA.otherTableViewDelegate = viewControllerB
viewControllerB.otherTableViewDelegate = viewControllerA

现在,每当您想在另一个 Controller 中插入一个单元格时,您都可以调用
self.otherTableViewDelegate?.insertCell()

关于macos - 不同的类(class)一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44198111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com