Раскадровка не удаляется в Xcode 11 - PullRequest
3 голосов
/ 18 октября 2019

Обычно я создаю пользовательский интерфейс программно, но по какой-то причине после обновления до Xcode 11 не могу удалить раскадровку или удалить ссылку. Он продолжает выдавать ошибку, говоря, что раскадровка отсутствует. Обычно я удаляю основную страницу, захожу в настройки проекта и удаляю текст основного ключевого слова. Затем я удаляю viewController, добавляю новый viewController, такой как HomeViewController, и использую следующий код в делегате приложения.

var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        window = UIWindow()
        window?.makeKeyAndVisible()
        let nc = UINavigationController(rootViewController: HomeViewController())
        window?.rootViewController = nc

        return true
    }

Я выполняю те же самые шаги, которые я использовал в предыдущих версиях Xcode, и он работал(без удаления самого файла раскадровки). Пока я добавил вышеуказанный код. Теперь, похоже, не тот случай. Если я удаляю файл ViewController по умолчанию и говорю, что добавляю новый файл HomeViewController и добавляю приведенный выше код, выдается ошибка о том, что раскадровка отсутствует или раскадровка не содержит HomeViewController.

1 Ответ

3 голосов
/ 19 октября 2019

Вы не говорите, но я предполагаю, что вы создаете новый проект с целью iOS 13? Если нет, вы можете проигнорировать это: -)

В XCode 11 для нового проекта iOS 13+ они изменили способ запуска пользовательского интерфейса из кода. Это больше не происходит в AppDelegate, а в SceneDelegate.

После того, как я потратил слишком много времени на то, чтобы понять, что происходит, я написал это в сообщении в блоге с мыслью, что это может помочь кому-то еще. Вместо того, чтобы перефразировать все это, я сделаю ссылку на него:

Новый проект XCode 11 без раскадровки

...