如果我使用以下代码,它会显示错误
“键入’HttpConnection’不符合协议’NSObjectProtocol’”
“键入’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方法都已经为您实现.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。