Убедитесь, что вы #import
файл определения протокола в файл <ProjectName>-Bridging-Header.h
:
#import "OBJCLocationObserver.h"
А затем вы должны увидеть сообщения об ошибках, если ваша подпись не совпадает.
Вы также можете использовать Xcode Автозаполнение . Тип:
public func didUpdateLocation
и Автозаполнение предлагает:
public func didUpdateLocation(withModel Model?, lastLocation: CLLocationCoordinate2D)
, который отличается от того, что у вас есть, и объясняет, почему он не работает.
Вот еще один способ получить интерфейс:
Как @MartinR предложил в комментарии к другому вопросу:
Перейдите в файл заголовка, где определен протокол, и выберите
«Сгенерированный интерфейс» из всплывающего окна «Связанные элементы» в верхнем левом углу
угол. Это покажет вам точную сигнатуру метода Swift, которую вы
должны реализовать.