我为NSURLSession使用以下代码

NSURL * url = [NSURL URLWithString:urlString];
HomeViewController* hvc= [self.storyboard instantiateViewControllerWithIdentifier:@"HomeViewController"];
NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate:hvc delegateQueue:    [NSOperationQueue mainQueue]];
NSURLSessionDataTask * dataTask = [defaultSession dataTaskWithURL:url ];
[dataTask setAccessibilityLabel:@"UserProfiling"];
[dataTask resume];


编译器在以下语句中显示警告:

NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate:hvc delegateQueue: [NSOperationQueue mainQueue]];


并且警告是:

Sending 'HomeViewController *' to parameter of incompatible type 'id<NSURLSessionDelegate>'


如何删除此警告?

我已通过书面确认与会代表:

@interface ProfileTabView : UIViewController <NSURLSessionDataDelegate, NSURLSessionDelegate, NSURLSessionTaskDelegate>
{

}


基本上,我正在调用NSURLSessionDataTask,并且委托在另一个ViewController中,如您在上面看到的。

最佳答案

(摘自评论,为后代作答。)

HomeViewController不是您已向(ProfileTabView)添加协议一致性的类。

09-07 14:39