在我的Swift应用程序中,我需要从Objective-C中访问一个名为weibo()的类方法,如下所示

@interface Weibo : NSObject
+ (Weibo*)weibo;
@end

我已经配置了桥接头并尝试了以下语句
let w = Weibo.weibo() as Weibo

它不起作用。

更新:
我已经 fork the repo并修复了以下问题。
let w = Weibo.getWeibo() as Weibo // the method has been changed.

之所以不能使用它,是因为Swift将+ (Weibo*)weibo;视为一种便捷的构造方法。尽管大小写不同,但由于weibo与类名Weibo相同。我需要将名称更改为getWeibo才能解决此问题以支持Swift。

感谢您为这个答案做的每一个人。特别感谢@Anil和@David

jack

最佳答案

+ (Weibo*)weibo;是类Weibo的类方法。您可以像这样快速访问

let w:Weibo = Weibo.weibo()

但是当我尝试('weibo' is unavailable: use object construction 'Weibo()')时可能由于方法名和类名相同而给我错误。当我更改方法名称错误时
let w:Weibo = Weibo.getWeibo() // works: method name changed

关于ios - 如何从Swift语言访问Objective-C类方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24367390/

10-10 01:12