Невозможно вызвать такой метод напрямую из Objective-C.
Если тип Result является перечислением с нетривиальными объектами case или структурой, он не будет работать, потому чтоObjective-C не поддерживает типы значений.Также Objective-C не поддерживает универсальные типы, такие как Result<T>
.
. Один из способов исправить это сделать оболочку, т.е. написать второй метод в Swift, который адаптирует типы:
func login(userLogin: String, userPassword: String,
completion: @escaping (_ resultData: Data?, _ resultError: NSError?) -> Void)
В этом методе вы вызываете свой исходный логин, а во внутреннем обратном вызове завершения распаковываете свой Result в Data и NSError (преобразование из PZError) и передаете им блок завершения вызывающего абонента.