Ошибка с именами классов в xcode / swift? - PullRequest
0 голосов
/ 14 декабря 2018

Созданы следующие файлы (просмотр с xib и контроллером просмотра):

SomeViewController.swift 
SomeView.swift
SomeView.xib

ПРИМЕЧАНИЕ: Имена могут отличаться, но имена классов должны выглядеть так же, как в этом примере.

SomeViewController - это просто подкласс UIViewController, а вообще не связан с SomeView .

Но когда я использую SomeViewController, это как-то вызывает awakeFromNib() в SomeView и это вызывает сбой.Проверено дважды - ошибка не появится, если я, например, изменю имя класса с SomeViewController на SomeViewController2.

Код для моего случая:

let vc = SomeViewController()
... //add it to UITabBarController

Нужно переименовать его вчто-то совершенно другое или я могу как-то исправить эту связь между view и view controller?

1 Ответ

0 голосов
/ 14 декабря 2018

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621487-nibname

Если имя класса контроллера представления заканчивается словом «Controller», как в MyViewController, он ищет файл пера, имя которого совпадает с именем класса без слова «Controller».', как в MyView.nib.

Решение:

class SomeViewController: UIViewController {
    override var nibName: String? {
        return nil
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...