最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

No visible @interface for 'ViewTexture' declares the selector 'renderwith'

IOS 王检 浏览 评论

在我们ios开发中,object-c方法中调用swift代码,特别是swift3版本以上的代码,就会出现No visible @interface for 'ViewTexture' declares the selector 'renderwith'这类型的错误,其实原因并不是因为我们object-c代码中没有引入swift头文件,而是因为当我们使用类似swift4以上的代码时,object-c就无法访问到swift4类里面的方法了。

那么如何解决类似No visible @interface for 'ViewTexture' declares the selector 'renderwith'这类型的错误呢?

你还记得swift中的@objc这个关键字的作用吗?

默认情况下,swift生成的代码只能swift中可以用,而如果此时object-c中想要访问swift4代码内容,就要在swift代码的class类或者func方法前面加入@objc这个关键字(看你是类出错还是方法出错了),否则xcode就会编译出错。

因此解决上述的问题很简单,就是swift版本问题,以前swift3以内的版本是没有此问题点的。

假如小编上述swift类中的renderwith()方法本来是这样的,例如:

func renderwith(){}

则将方法改成如下这样既可解决上述错误:

@objc func renderwith(){}


来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/object-c_ios/956.html

与本文相关的文章

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)

网友最新评论