Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在PageViewController内部获取ViewController的containerView_Ios_Swift - Fatal编程技术网

Ios 在PageViewController内部获取ViewController的containerView

Ios 在PageViewController内部获取ViewController的containerView,ios,swift,Ios,Swift,我在向PageViewController中的ViewController按钮添加操作时遇到问题 到目前为止,我已经为这个特定的VC这样做了: override func viewDidLoad() { super.viewDidLoad() self.dataSource = self NotificationCenter.default.addObserver(self, selector: #selector(disableSwipe(_:)

我在向PageViewController中的ViewController按钮添加操作时遇到问题

到目前为止,我已经为这个特定的VC这样做了:

override func viewDidLoad() {
        super.viewDidLoad()
        self.dataSource = self
        NotificationCenter.default.addObserver(self, selector: #selector(disableSwipe(_:)), name: Notification.Name(rawValue: "disableSwipe"), object: nil)
        NotificationCenter.default.addObserver(self, selector: #selector(enableSwipe(_:)), name: Notification.Name(rawValue: "enableSwipe"), object: nil)

        if let secondViewController = viewControllerList.first as? HomeViewController {
            self.setViewControllers([secondViewController], direction: .forward, animated: true, completion: nil)
            secondViewController.iconPlus.action = #selector(addData(_:))
            secondViewController.buttonReminder.addTarget(self, action: #selector(goToReminder(_:)), for: .touchUpInside)
            secondViewController.buttonSettings.addTarget(self, action: #selector(goToSettings(_:)), for: .touchUpInside)
        }
    }
这种方法工作得很好,但现在我添加了一个ContainerView,其中包含一个带有按钮的TableViewController,我可以理解地得到以下错误:

“HomeViewController”类型的值没有成员“ButtonMinder”

如何访问containerView的按钮以从PageViewController执行操作

编辑,containerView-TableViewController:

class MenuTableViewController: UITableViewController {

    @IBOutlet weak var buttonTimeline: UIButton!
    @IBOutlet weak var buttonReminder: UIButton!
    @IBOutlet weak var buttonLeasing: UIButton!
    @IBOutlet weak var buttonSettings: UIButton!


    override func viewDidLoad() {
        super.viewDidLoad()

    }

}
更清楚地说:我有我的HomeViewController,它是RootPageViewController的一部分。此HomeViewController包含一个“ViewContainer”,用于显示带有按钮的TableViewController

你能行

if let secondViewController = viewControllerList.first as? HomeViewController {

     secondViewController.loadViewIfNeeded()  // not recommended
     let res = secondViewController.children.first as! NestedVC
     res.button..........
}

更好的方法是将
HomeVC
设置为
UIViewController
子对象,并添加按钮和
UITableView
,用于1直接访问,而不是上面的嵌套访问

post code of
HomeViewController
@Sh Sh Khan。HomeViewController中唯一相关的可能是以下引用:
@ibvar容器视图:UIView谢谢。您所说的
vc
NestedVC
是指哪个ViewController?您是指TableViewController的类吗?请参阅使用vc编辑我的意思是secondViewController/homevc和NestedVC=TableViewController的类。我得到以下错误:
该类不符合key containerView的键值编码。
(如果有)如果发生崩溃,则需要正确挂接视图
containerView
,验证homeVC的插座连接
if let secondViewController = viewControllerList.first as? HomeViewController {

     secondViewController.loadViewIfNeeded()  // not recommended
     let res = secondViewController.children.first as! NestedVC
     res.button..........
}