iOS-无法访问swift类的静态方法

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

我想访问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 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;
    }
}
我为它做了以下设置:

  • 产品模块名称:MyProject
  • 定义模块:是
  • 嵌入内容包含Swift:是
  • 安装Objective-C兼容性标题:是
  • Objective-C桥接头:$(SRCROOT)/MySources/SwiftBridgengHeader.h
  • 另外,我在Swift类中的类声明之前添加了@Obj

    我已经在.m文件中导入了MyProject Swift.h,我想在其中访问该方法

    但当我试图访问它时,它不允许我访问那个静态方法

    有人有解决办法吗?有什么东西不见了吗

    Thnaks.

    根据您的评论:

    我按如下方式调用此方法:

    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”]这是正确的行。再次感谢这个答案是我想要