【发布时间】:2014-09-17 09:39:29
【问题描述】:
例如我在swift中有这个方法:
@objc class MyClass: NSObject
....
@objc class func viewWithIndex(index: Int, str: String) {
println(index, str)
}
然后我想在我的 Objective-c 类中调用该方法,我期待像这个调用 [MyClass viewWithIndex:10 str:@"string"]; 一样简单,但它不起作用。
我怎么称呼它?请帮忙。
注意:我已经对objective-c [MyClass showSomething]; 进行了有效的快速函数调用,这意味着我已经成功设置了必要的设置来桥接类。只有具有两个以上参数的函数是我的问题。 :)
已解决:
我不知道我发生了什么,但我刚刚重新启动了我的 mac 并删除了 objc,它与调用 [MyClass viewWithIndex:10 str:@"string"]; 一起工作。我记得在文档中阅读过。
Migrating Your Objective-C Code to Swift
- 要在 Objective-C 中可访问和可用,Swift 类必须是 Objective-C 类的后代,或者必须标记为 @objc。
【问题讨论】:
-
什么不起作用?你有编译时错误还是运行时错误?
-
你的 Swift 类是 NSObject 的子类吗?比较stackoverflow.com/questions/25605677/…。
-
我已经对objective-c 类进行了有效的快速函数调用,但没有参数或只有一个参数。现在我想尝试两个或更多参数。它犯的错误是
No Known class method for selector viewWithIndex:str -
你做了
#import YOUR_PROJECT_NAME-Swift.h吗? -
我已经导入并制作了桥头文件。
标签: ios objective-c xcode swift