Всем привет, подскажите такую вещь по Swift\Objc. У меня есть вот такие протокол на ObjC и реализация на свифте
https://pastebin.com/frYkuapcПри сборке ругается, что не совпадают названия переменных у методов. Опытным путём было выяснено, что если у массива в конце есть одно из ключевых слов (of, with, by, on это те, что я нашёл) и название типа целиком или частично (то есть для типа PhonebookPerson я с равным успехом могу написать Person и PhonebookPerson) в множественном числе, а у простой переменной аналогично в единственном числе - название типа просто отрезается. Собственно у меня два вопроса:
а) формализована ли вообще как-то эта лютая дичь?
б) как правильнее всего это обойти?
Ошибка сборки:
/Users/g.a.igumnov/work/mobile/phonebook/controller/mobile-app/x86_64/subprojects/controller/service-sbis-phonebook/phonebook/djinni/swift/phonebook/PhonebookSomeEventEvent.swift:32:17: error: instance method 'onEvent(_:someNumValue:lotOfPersons:)' has different argument labels from those required by protocol 'PhonebookSomeEventCallback' ('onEvent(_:someNumValue:lotOf:)')
public func onEvent(_ outUserId: UUID,someNumValue: Int32,lotOfPersons: [PhonebookPerson])
^
lotOf
Phonebook.PhonebookSomeEventCallback:3:10: note: requirement 'onEvent(_:someNumValue:lotOf:)' declared here
func onEvent(_ outUserId: UUID, someNumValue: Int32, lotOf lotOfPersons: [PhonebookPerson])
^
/Users/g.a.igumnov/work/mobile/phonebook/controller/mobile-app/x86_64/subprojects/controller/service-sbis-phonebook/phonebook/djinni/swift/phonebook/PhonebookSomeEventEvent.swift:32:17: error: 'onEvent(_:someNumValue:lotOfPersons:)' has been renamed to 'onEvent(_:someNumValue:lotOf:)'
public func onEvent(_ outUserId: UUID,someNumValue: Int32,lotOfPersons: [PhonebookPerson])
^
lotOf
Phonebook.PhonebookSomeEventCallback:5:10: note: 'onEvent(_:someNumValue:lotOfPersons:)' was obsoleted in Swift 3
func onEvent(_ outUserId: UUID, someNumValue: Int32, lotOfPersons: [PhonebookPerson])