Я работаю над переписыванием проекта Objective-C в Swift, и я застрял в ошибке компилятора. Я вызываю метод, определенный в протокол Objective C, который имеет подпись:
- (void)startForBuilder:(Object*)builder;
и из Swift я вызываю этот метод как:
plugin.start(for: self)
, где self
- это экземпляр объекта, а плагин - это экземпляр объекта, который соответствует протоколу выше. Я получаю ошибку
Cannot convert value of type 'Object' to expected argument type 'Object!'
Замена self
на self!
не сработала (поскольку, очевидно, self
не является обязательной), я также пытался создать экземпляр другого объекта того же типа, что и self
, и использовать этот экземпляр в качестве аргумента для проверьте, исчезла ли ошибка, но она все еще есть.
Что может вызвать эту ошибку?