Переопределение NSViewController.init(nibName...) можно переопределить в пустом проекте, но не в моем большом! Как мой проект может повлиять на это?
НАСТРОЙКА: я добавляю следующее в пустой проект, и он отлично компилируется:
class FooNsVc : NSViewController override init(nibName nibNameOrNil:NSNib.Name?, bundle nibBundleOrNil:Bundle?) { super.init(nibName:nibNameOrNil, bundle:nibBundleOrNil) loadView() } }
ОШИБКА: когда я вставляю его в свое приложение, я получаю ошибки компиляции:
Initializer does not override a designated initializer from its superclass
. ПОЧЕМУ. Я удалил все расширения NSViewController и его суперклассов NSResponder и NSObject. те же симптомы.ЗАМЕЧАТЕЛЬНО: замена 2-й и 3-й строк на следующие приводит к компиляции.
init(nibName nibNameOrNil:NSNib.Name?, bundle nibBundleOrNil:Bundle?) { super.init(nibName:nibNameOrNil, bundle:nibBundleOrNil)
Но ошибки в
loadView()
сcould not load the nibName: is in in bundle (null)
AtomInspector.xib есть, он показан в Assets/xib/AtomInspector.xib, скопирован туда из рабочего проекта OBJC.Я начал взламывать, и через час я сократил 18 000 строк своего приложения до 3 000. Но ошибка ускользнула.
Я сделал это снова, ошибка снова ускользнула.
FooNsVc
? Полагается лиFooNsVc
наAtomInspector.xib
? - person bhr   schedule 24.10.2020init(coder:)
. Так что невозможно воспроизвести проблему на основе того, что вы сказали. - person matt   schedule 25.10.2020