相对而言,我是初学者,所以这可能是一种完全普遍的做法 - 或者说完全不可能的做法 - 但我一直在想是否可以修改添加的视图控制器在故事板中,除了(或除了?)成为UIViewConroller
的实例之外,它还是(blahblah)ViewController
的一个实例,例如ABUnknownPersonViewController
。
这样,而不是做这样的事情:
class ViewController : UIViewController {
override func viewDidLoad() {
let test = ABUnknownPersonViewController()
...
self.presentViewController(test, animated: false, completion: nil)
}
}
这个可以完成:
class ViewController : ABUnknownPersonViewController {
override func viewDidLoad() {
//ViewController already is an ABUnknownPersonViewController, so you can treat it as one
//example below (displayedPerson is a property of ABUnkownPersonViewControllers)
self.displayedPerson...
}
}
编辑: ABUnknownPersonViewController
是Apple提供的一个类,不支持子类化(here)。说到这一点,并且我明显希望尽可能简单的解决方案(避免协议和诸如此类的东西),我有什么选择?
我尝试class FourthViewController: UIViewController, ABUnknownPersonViewController, ABUnknownPersonViewController, ABUnknownPersonViewControllerDelegate
只是为了获得有关多重继承的错误。