iOS-无法访问swift类的静态方法
我想访问Objective-c中的Swift代码 我已经用swift写了一个包含静态方法的类。我想访问objective C类中的静态方法 以下是班级宣言:iOS-无法访问swift类的静态方法,ios,objective-c,swift,Ios,Objective C,Swift,我想访问Objective-c中的Swift代码 我已经用swift写了一个包含静态方法的类。我想访问objective C类中的静态方法 以下是班级宣言: @objc class LocalizedResource: NSObject { /*! * @discussion This function will get localize string for key * @param key Localize key * @return String for
@objc class LocalizedResource: NSObject {
/*!
* @discussion This function will get localize string for key
* @param key Localize key
* @return String for locaized key
* @code LocalizedResource.getStringForKey(key);
*/
static func getStringForKey(key:String) -> String {
let frameworkBundle = NSBundle.mainBundle()
let value = frameworkBundle.localizedStringForKey(key, value: nil, table: nil)
return value;
}
}
我为它做了以下设置:
errorMessage.text = LocalizedResource.getStringForKey(@"TIMED_OUT_ERROR");
在Objective-C中,“点语法”用于属性,
不适用于方法。正确的电话应该是
errorMessage.text = [LocalizedResource getStringForKey:@"TIMED_OUT_ERROR"];
注意:在Swift 4中,构建设置
Swift 3@objc推理
为默认值
,我们必须明确将函数标记为@objc
,否则它将不会在Swift桥头中生成类函数。请显示类和静态方法的声明。您可能正在添加静态方法。请添加类func..我已经用我在Swift文件中所做的类声明编辑了这个问题,该类声明应该有效。在Objective-C中如何调用它,确切的错误消息是什么?@MartinR我按如下方式调用此方法:errorMessage.text=LocalizedResource.getStringForKey(@“TIMED\u OUT\u error”)
并且它给了我这个错误:在“LocalizedResource”类型的对象上找不到属性“getStringForKey”
errorMessage.text=[LocalizedResource getStringForKey:@“TIMED_OUT_error”]代码>这是正确的行。再次感谢这个答案是我想要