У меня есть класс библиотеки, написанный на swift, который должен использоваться в моем существующем коде Objective-C.Я создал bridging-header и определил @class MySwiftClass в .h и импортировал "-Swift.h" в .m
, а swift-класс похож на этот
@objc class MySwiftClass: NSObject {
var firstName : String
var lastName: String
public init(firstName: String, lastName: String) throws {
guard !firstName.isEmpty && !lastName.isEmpty else { throw SOME_ERROR }
self.firstName = firstName
self.lastName = lastName
super.init()
}
func methodWithParams(city: String, suburb: String) throws -> String {
return city + suburb
}
Я столкнулся с двумя проблемами:
Не знаю, как вызвать функцию swift init
в классеjective-c.Я пытался MySwiftClass *myClass = [MySwiftClass init];
.До этого приложение может компилироваться.Но не знаю, как передать параметры.
Я также хочу получить доступ к myClass.methodWithParams(city:"My city", suburb:"My country")
в классе Objective-C.
Оценитьпомощь!