是否可以使用协议和委托在我的选项卡(视图控制器)之间传递数据? (我知道如何通过标签栏之间的通知中心轻松传递数据,我知道如何使用协议和代表将数据和#34;返回"传递给其他VC)
我正在尽量减少NSNotification中心的使用,因为它们非常混乱。这就是我认为协议会更好的原因
例如,
我有一个制作帖子的标签(PostTab)和一个显示帖子的标签(DisplayTab)。当postTab发布帖子时,允许DisplayTab有一个名为
的委托函数func postAdded(post: Post) { //Display post }
其中post是从PostTab传递的。
答案 0 :(得分:1)
如果我可以建议:
<强> 1。选项:
我输入的内容非常简单 - 可能更简单,所以:
进入PostTab控制器,到达准备好来自用户数据的行:
let index = 1 //you know a real index of our displayTab controller
let displayTabViewController = self.tabBarController?.viewControllers?[index] as! DisplayTabViewController
displayTabViewController.postAdded(post: POST)
将其放入DisplayTab控制器:
func postAdded(post: Post)
{
print("This is the: \(post)")
}
<强> 2。选项:强>
使用AppDelegate作为委托或制作自己的委托。
答案 1 :(得分:0)
没有开箱即用,因为没有支持共享任意数据的协议。你必须实现自己的协议。