Я использую старый способ ввода UIView
до UIViewController
, но после обновления до iOS 12 он не будет работать, и ошибка: libc++abi.dylib: terminating with uncaught exception of type NSException
Вот код
class SlideOutMenu: UIViewController {
var contentView:UIView!
func setContentViewIn(view: UIView) {
self.contentView = view
self.view.addSubview(self.contentView)
}
}
Тогда
class MainController: UIViewController {
var slide = SlideOutMenu()
var viewToAdd = ViewToAdd() // extends UIView
override func viewDidLoad()
{
super.viewDidLoad()
slide.setContentViewIn(viewToAdd)
}
}
Это не работает, но если я так заявляю, это работает
class SlideOutMenu: UIViewController {
var contentView:UIView!
convenience init(childView: UIView) {
self.init(nibName:nil, bundle:nil)
self.contentView = childView
}
override func viewDidLoad() {
view.addSubview(self.contentView)
}
}
И используйте
SlideOutMenu(childView: UIView())
Это работает.
Но вот так это не так.Это странно
SlideOutMenu(childView: viewToAdd)