如果我使用以下代码,它会显示错误
“键入’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方法都已经为您实现.