You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift 4.2类遵循带NSObject的Objective-C协议遇类型错误求助

快速解决Swift遵循Objective-C协议时需实现NSObject方法的问题

嘿,作为Swift新手碰到这种情况真的太正常了,别慌!我给你说个一步到位的解决办法:

让你的MyClass直接继承自NSObject就好啦!修改后的代码是这样的:

class MyClass: NSObject, OtherProtocol { }

为什么这能解决问题?

因为你的Objective-C协议OtherProtocol继承了NSObject协议,这意味着任何遵循它的类都需要满足NSObject协议的所有@objc方法要求。而NSObject类本身已经实现了所有这些标准方法(包括那个让你头疼的self()方法),你的子类继承后就自动拥有了这些实现,Xcode自然就不会再逼着你手动补那些没用的方法桩了。

而且因为你的协议里只有@optional方法,你甚至连协议的方法都不用实现,直接这样写就完全符合要求,完美避开那些你根本不会用到的NSObject方法。

内容的提问来源于stack exchange,提问作者wheresmycookie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 09:25:53