Я думал, что никогда не должен вызывать [super loadView], но что-то меня смущает.
В описании loadView ( Ссылка на класс UIViewController) говорится, что «Ваша пользовательская реализация этого метода не должна вызывать super.», но в приведенном ими примере ZoomingPDFViewer реализация loadView ( ZoomingPDFViewerViewController ) вызывает [super loadView].
Я попытался вызвать его из моего метода loadView, и он работает нормально, но тогда я просто не понимаю, что значит не вызывать super.
NSViewController пытается инициализировать представление из кончика в -loadView. Поскольку ваше имя пера не установлено для вашего контроллера, оно просто даст вам self.view = nil; Я бы предположил, что UIViewController работает так же.
Так что это должно быть безопасно, но вам это совершенно не нужно.
Если вы создаете ваш ViewController программно, вы можете вызвать super.loadView()
вместо self.view = UIView(frame: UIScreen.main.bounds)
в начале override func loadView()
, чтобы построить иерархию вашего представления. Тем не менее, вам не следует вызывать super.loadView()
и одновременно создавать свой UIViewController.view
. Просто не нравится робот, объясняющий документацию Apple.