加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么在swift中我们不能从NSObject采用一个没有继承的协议?

发布时间:2020-12-14 05:19:18 所属栏目:百科 来源:网络整理
导读:如果我使用以下代码,它会显示错误 “键入’HttpConnection’不符合协议’NSObjectProtocol’” class HttpConnection : NSURLConnectionDataDelegate { var urlConnection : NSURLConnection? weak var delegate : HttpConnecting? init(delegate:HttpConnec
如果我使用以下代码,它会显示错误
“键入’HttpConnection’不符合协议’NSObjectProtocol’”
class HttpConnection : NSURLConnectionDataDelegate {
        var urlConnection       : NSURLConnection?
        weak var delegate       : HttpConnecting?

        init(delegate:HttpConnecting){
            self.delegate = delegate;
        }

        func startAsynRequestWithUrlString(url:NSString,withMethod:NSString){
        }
    }

如果我将HttpConnection子类化为NSObject,那么它工作正常.所以我的问题是当我需要采用NSURLConnectionDataDelegate协议在swift为什么我需要从NSObject继承类?

NSURLConnectionDataDelegate本身从继承自NSObjectProtocol的NSURLConnectionDelegate继承.

这意味着除了实现NSURLConnectionDataDelegate和NSURLConnectionDelegate之外的所有方法之外,还必须实现来自NSObjectProtocol的所有方法(例如,相等,散列).

你没有实现它们,这是你的错误.如果您从NSObject继承,那么所有NSObjectProtocol方法都已经为您实现.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读