iOS开发中OC调用Swift报错

  • 场景描述:在OC类的方法中,调用Swift类的方法,报错:No visible @interface for ‘CCC’ declares the selector ‘MMM’(CCC为类名,MMM为方法名)
// OC中的方法:
- (void)test {
    NSLog(@"hello Objective-C!");

    NSLog(@"===========OC调用Swift===========");
    JRSwiftHello *swift = [[JRSwiftHello alloc] init];
    [swift printHello]; // 调用Swift中方法报错
}
    // Swift中的方法
    func printHello() {
        print("hello Swift!")
    }
  • 解决办法:在Swift中的方法前加@objc(方法名)
    // 修改后Swift中的方法
    @objc(printHello)
    func printHello() {
        print("hello Swift!")
    }
  • 参考地址:http://blog.csdn.net/IOSWEB/article/details/52037484

  • 拓展

    • Swift文件中使用OC类:在自动生成的桥接文件XXX-Bridging-Header.h中引入OC头文件
    • OC文件中使用Swift类:在需要使用的文件中引入#import "XXX-Swift.h"
    • 注:XXX为项目名称
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页