Ios 继承视图控制器中的输出和操作

Ios 继承视图控制器中的输出和操作,ios,swift,uiviewcontroller,Ios,Swift,Uiviewcontroller,我已经创建了5个选项卡的TabBar应用程序,所有5个视图都是相同的,每个视图都包含控制一套设备的按钮、在接收器上切换输入到输出以及控制音量,因此5个视图对应5个房间。 现在我有了5个不同的UIViewController,它们的代码都是从UIViewController继承来的 但我认为它应该是一个RoomViewController,从UIViewController继承而来,每个房间都应该使用RoomViewController,就像这样 class RoomViewController:

我已经创建了5个选项卡的TabBar应用程序,所有5个视图都是相同的,每个视图都包含控制一套设备的按钮、在接收器上切换输入到输出以及控制音量,因此5个视图对应5个房间。 现在我有了5个不同的UIViewController,它们的代码都是从UIViewController继承来的

但我认为它应该是一个RoomViewController,从UIViewController继承而来,每个房间都应该使用RoomViewController,就像这样

class RoomViewController: UIViewController {

    @IBOutlet weak var videoSat: UIButton!

   func lockAudioLabel(sender: UIButton) {
      if sender.isSelected {
         return
      } 
      videoSat.isSelected = false
   }

  @IBAction func videoSatSelect(_ sender: UIButton) {

    //send command to equipment
    //make some actions
    lockVideoLabel(sender: sender)
  }
}
而Room1ViewController是

class Room1ViewController: RoomViewController {
}
所有房间都有故事板中的场景

所以问题是,有没有办法在RoomViewController类中使用一组iBoules和ibactions,并在Room1ViewController中继承它们?如何访问它们

所以问题是,有没有办法在RoomViewController类中使用一组iBoules和ibactions,并在Room1ViewController中继承它们

在RoomViewController中声明的@IBOutlet属性和@IBAction方法由Room1ViewController等子类继承

但是没有继承的是nib中的设计。当实例化Room1ViewController这样的子类时,它会加载自己的视图,而不是其他视图控制器的视图。此加载基于每个实例进行。因此,您仍然需要将nib中的接口对象连接到类声明中的属性和方法。换句话说,您仍然需要在nib中进行输出和操作,因为这是一个不同的视图

所以问题是,有没有办法在RoomViewController类中使用一组iBoules和ibactions,并在Room1ViewController中继承它们

在RoomViewController中声明的@IBOutlet属性和@IBAction方法由Room1ViewController等子类继承


但是没有继承的是nib中的设计。当实例化Room1ViewController这样的子类时,它会加载自己的视图,而不是其他视图控制器的视图。此加载基于每个实例进行。因此,您仍然需要将nib中的接口对象连接到类声明中的属性和方法。换句话说,您仍然需要在nib中创建出口和操作,因为这是一个不同的视图。

查看这些链接感谢链接查看这些链接感谢链接