Можно ли вызывать [super loadView]?

Я думал, что никогда не должен вызывать [super loadView], но что-то меня смущает.

В описании loadView ( Ссылка на класс UIViewController) говорится, что «Ваша пользовательская реализация этого метода не должна вызывать super.», но в приведенном ими примере ZoomingPDFViewer реализация loadView ( ZoomingPDFViewerViewController ) вызывает [super loadView].

Я попытался вызвать его из моего метода loadView, и он работает нормально, но тогда я просто не понимаю, что значит не вызывать super.

25
задан Aleksa 5 March 2012 в 16:03
поделиться

2 ответа

NSViewController пытается инициализировать представление из кончика в -loadView. Поскольку ваше имя пера не установлено для вашего контроллера, оно просто даст вам self.view = nil; Я бы предположил, что UIViewController работает так же.

Так что это должно быть безопасно, но вам это совершенно не нужно.

1
ответ дан 28 November 2019 в 21:38
поделиться

Если вы создаете ваш ViewController программно, вы можете вызвать super.loadView() вместо self.view = UIView(frame: UIScreen.main.bounds) в начале override func loadView(), чтобы построить иерархию вашего представления. Тем не менее, вам не следует вызывать super.loadView() и одновременно создавать свой UIViewController.view. Просто не нравится робот, объясняющий документацию Apple.

0
ответ дан 28 November 2019 в 21:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: