Вызов Swift ViewController из Objective C ViewController - PullRequest
0 голосов
/ 08 июля 2020

Попытка перейти на экран A с экрана B

Экран A управляет кодом цели - C (программно), экран B - Swift (файл xib).

Когда я пытаюсь запустите мой Swift Class, чтобы показать BViewController из Objective- C вот так:

BViewController *addController = [[BViewController alloc] init];
addController.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:addController animated:YES completion: nil];

столкнулся с критической ошибкой:

BViewController.swift: 18: 12: Fatal error: Use of unimplemented initializer 'init(nibName:bundle:)' for class 'sensemp.PasscodeLockViewController'

какой-то код из BViewController:

...

private static var nibName: String { return "BView" }

open class var nibBundle: Bundle {
        return bundleForResource(name: nibName, ofType: "nib")
    }

public init(state: BState, configuration: BConfiguration, animateOnDismiss: Bool = true) {
        ...

        let this = type(of: self)
        super.init(nibName: this.nibName, bundle: this.nibBundle )

        ...
        
    }
...

Когда я управляю BViewController напрямую из swift - все работает нормально.

В чем может быть причина этой ошибки? А как исправить?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...