Об окне AppDelegate в Swift
Вот быстрый код приложения по умолчанию в Appdelecage.swift
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
...
Может кто-нибудь сказать мне, почему создать необязательное окно вар?
почему нет как это по умолчанию:
var window: UIWindow = UIWindow()
что сэкономит много "?" а также "!"
Спасибо
2 ответа
Работа UIApplicationMain
чтобы увидеть, что ваше окно равно нулю, создать и назначить окно для вас. Я думаю, что это их аргументация.
Но на самом деле вы можете просто изменить знак вопроса на восклицательный знак.
Если бы вы предоставили фактическое окно, вы также должны были бы создать его, как я делаю здесь:
var window
декларация должна удовлетворять необязательной декларации, указанной в UIApplicationDelegate
протокол. Вы не обязаны объявлять это, но если вы это сделаете, вы не должны устанавливать это со своим собственным значением. Приложение установит его в собственное окно, и вы должны только прочитать его. вам все равно нужно предоставить его как опционально (UIWindow?
) потому что протокол объявляет это как таковой.
Изменить: Ой, я прошу прощения. Я был избалован раскадровками, которые я забыл, что вы можете создать корневое окно программно.