【发布时间】:2019-03-08 09:14:51
【问题描述】:
我有一个用 swift 编写的库类,应该在我现有的 Objective-C 代码中使用。 我已经创建了桥接头并在 .h 中定义了 @class MySwiftClass 并在 .m 中导入“-Swift.h”
一个 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
}
我遇到了两个问题。
不知道如何在 Objective-c 类上调用 swift
init函数。我试过MySwiftClass *myClass = [MySwiftClass init];。至此,应用程序可以编译。但是不知道怎么传参数。我也想在objective-c类中访问
myClass.methodWithParams(city:"My city", suburb:"My country")。
感谢您的帮助!
【问题讨论】:
-
您需要做的第一件事是将
@objc添加到应在Objective-C 中可见的方法中。
标签: ios objective-c swift