我想创建一个带有两个不同UIViewController子类的函数。一个是UITableViewController,一个是UIViewController(都是从UIViewController继承的)。在我的函数中,我想检查ViewControllers的类型,以便在我的函数中访问它们的属性。如果有可能,我怎么能这样做?我已经厌倦了以下事情:
internal func myFunction(var controller: UIViewController) {
if controller is MyController {
controller = controller as! MyController
}
// Get errors saying my MyController properties are not available. Type of UIViewController has no member.
}
答案 0 :(得分:3)
如果我理解你,你想知道你的参数是哪种类型。如果是这样,请使用这种方法:
internal func myFunction(controller: UIViewController) {
if let menu = controller as? MenuController {
//menu is you MenuCOntroller
} else if let table = controller as? UITableViewController {
//table is your UITableViewController
}
}