Ios 在Swift中使用两个视图控制器连接对象
在我的项目中,我有两个视图控制器,在将UIImageView等对象连接到视图控制器时遇到问题。当我尝试创建IBOutlet时,它告诉我“无法插入新的outlet集合:找不到名为UIViewController的类的任何信息”。我相信这个问题源于我的班级声明如下:Ios 在Swift中使用两个视图控制器连接对象,ios,swift,uiviewcontroller,Ios,Swift,Uiviewcontroller,在我的项目中,我有两个视图控制器,在将UIImageView等对象连接到视图控制器时遇到问题。当我尝试创建IBOutlet时,它告诉我“无法插入新的outlet集合:找不到名为UIViewController的类的任何信息”。我相信这个问题源于我的班级声明如下: class UIViewController: UIViewController { 实际上,视图控制器名为Main Scene。然而,当我将第一个UIViewController更改为我认为应该的(mainScene)时,它
class UIViewController: UIViewController {
实际上,视图控制器名为Main Scene。然而,当我将第一个UIViewController更改为我认为应该的(mainScene)时,它甚至没有显示连接IBOutlet的选项
class mainScene: UIViewController {
所以,我有两个问题
非常感谢简短回答:1。对,对。2.没有比这更好的方法了,你也没有犯下可怕的错误。(你可能只是错过了一步。) 您有两个视图控制器。假设它们不同,您可以使用不同的名称对
UIViewController
中的每一个进行子类化。例如,mainSceneViewController和otherSceneViewController
您的mainSceneViewController和otherSceneViewController都有各自的属性和IBOutlet
您可能遇到的问题是,需要在Interface Builder中更改viewController的类以匹配其.swift文件中的类名,以便IB知道它可以为该视图控制器连接哪些插座
故事板中的每个场景都对应一个视图控制器。执行segue时,iOS将从情节提要中实例化视图控制器
虽然可能只有一个视图控制器子类,并且对不同的视图使用相同的子类,但这种情况并不经常发生
更新:
子类化允许您向类添加属性和方法,并重写它们的超类
在您的评论中,UIViewController
是类,mainSceneViewController
是从UIViewController
中派生的子类。对于第二个视图控制器,它可能是类otherSceneViewController:UIViewController{
,因为其他场景可能需要与主场景视图控制器不同的属性和方法
您可以在《Swift编程语言指南》中找到。我应该如何像您提到的那样对其进行子类化?我应该使用两个不同的.Swift文件,然后从类mainSceneViewController:UIVIewController开始每个文件{是的,您将有两个不同的.Swift文件,每个文件都有不同的“场景”名称。例如GameOverViewController.swift将以
类GameOverViewController:UIViewController{
开头。非常感谢您的帮助