美文网首页
OC调用swift方法

OC调用swift方法

作者: LiLi_哩哩 | 来源:发表于2019-04-18 11:23 被阅读0次

在swift类中创建了方法:

@objc func changeViewColor(color: UIColor){
        self.backgroundColor = color
    }

在OC中调用:

[test changeViewColor:[UIColor redColor]];

报错:

No visible @interface for 'TestSwiftView' declares the selector 'changeViewColor:'

原因:

在Objective-C中方法名是 changeViewColorWithColor: 而不是changeViewColor: ,因为已经将 color: 暴露为外部标签。

解决方案:

1、用 changeViewColorWithColor: 调用

[test changeViewColorWithColor:[UIColor redColor]];

2、声明方法如下:

@objc func changeViewColor(_ color: UIColor){
        self.backgroundColor = color
    }

3、为Objective-C调用声明方法:

@objc(changeViewColor:) func changeViewColor(color: UIColor){
        self.backgroundColor = color
    }

相关文章

网友评论

      本文标题:OC调用swift方法

      本文链接:https://www.haomeiwen.com/subject/mhinwqtx.html