Ios 无法转换类型为';ViewController.Type';到预期的参数类型';UIViewController';
我已经分析了问题,但它是关于Ios 无法转换类型为';ViewController.Type';到预期的参数类型';UIViewController';,ios,swift,types,uicontainerview,Ios,Swift,Types,Uicontainerview,我已经分析了问题,但它是关于alertController 实际上我正在做的是,我正在与ContainerViews一起工作,成为MasterVC。我正在关注这个。 当我使用updateView()函数并在这些行上添加或删除控制器时,我遇到了这个错误 无法将“ViewController.type”类型的值转换为预期的参数类型“UIViewController” 这是因为您的函数(例如add(asChildViewController:)采用UIViewController实例,而您尝试传递类
alertController
实际上我正在做的是,我正在与ContainerViews
一起工作,成为MasterVC
。我正在关注这个。
当我使用updateView()
函数并在这些行上添加或删除控制器时,我遇到了这个错误
无法将“ViewController.type”类型的值转换为预期的参数类型“UIViewController”
这是因为您的函数(例如add(asChildViewController:)采用UIViewController实例,而您尝试传递类型 换句话说,您是在告诉“添加CheckoutViewController”,而不是具体告诉应该添加哪一个CheckoutViewController 在添加视图控制器之前,必须先创建它。例如,如果使用故事板:
if segmentedCont.selectedSegmentIndex == 0 {
guard let instockVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Instock") as? InstockViewController else { return }
add(asChildViewController: instockVC)
}
对于删除,我建议查看以下答案:您正在尝试删除视图控制器类型,而不是视图控制器的实例。考虑这条线:
remove(asChildViewController: InstockViewController)
InstockViewController
是一种视图控制器。您需要传递该类型的实例
编辑:在您引用的教程中,他在“添加子视图控制器”一节中对此进行了解释。在这里,他展示了主视图控制器如何创建要包含的视图控制器实例。我如何添加??请更新答案以便解决错误>PLZ我应该在那里写些什么查看我的编辑。请更仔细地阅读教程,这里有详细的说明。如果您不清楚实例和类型之间的区别,您将很难理解。
remove(asChildViewController: InstockViewController)