This question already has answers here:
Passing Data between View Controllers
                                
                                    (43个答案)
                                
                        
                                2年前关闭。
            
                    
我想为两个不想立即显示的视图控制器initData

当用户点击tableViewCell(选择一个组)时,我会看到的atm会显示“ chatVC”,并显示相应的数据。在ChatVC中,用户可以访问其他两个VC,ChatInfoVCChatInfoSettingsVC。有没有办法将tableViewCell(当我显示ChatVC时,我所做的工作组)的正确信息传递给另一个VC?我正在从Firebase中提取所有数据。

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
   guard let chatVC = storyboard?.instantiateViewController(withIdentifier: "chat") as? ChatVC else { return }
    chatVC.initData(forGroup: groupsArray[indexPath.row])
    presentDetail(chatVC)
}


我感谢所有帮助。

最佳答案

通常,您的ChatVC会将数据提供给它显示的视图控制器。因此,您必须要么


将数据从当前ViewController传递到ChatVC,再从那里传递到下两个ViewController,或者
在呈现另外两个视图控制器之前,先在ChatVC中获取详细数据


您还可以在tableView(_:didSelectRow:)中实例化这两个viewcontroller,为其提供正确的数据,然后将这些viewcontroller存储在ChatVC的两个属性中,但是在我看来,这有点奇怪

关于ios - 没有显示ViewController的InitData吗? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47181584/

10-11 17:09