创建NSURLSession时出现警告消息

时间:2017-06-27 09:24:10

标签: objective-c nsurlsession

我正在使用此代码创建NSURLSession,但我收到了来自Xcode的警告

 NSURLSessionConfiguration *sessionConf = [NSURLSessionConfiguration defaultSessionConfiguration];

 NSURLSession *fetchTillDataAllv2 = [NSURLSession sessionWithConfiguration:sessionConf delegate:self delegateQueue:nil];

警告如下

/Users/mdouhan/devnew/NWMobileTill/NWMobileTill/WebServices.m:902:100: Incompatible pointer types sending 'Class' to parameter of type 'id<NSURLSessionDelegate> _Nullable'

它指出我不能代表;自我,但我该如何纠正?

2 个答案:

答案 0 :(得分:2)

可能你的代码片段来自一个类方法(一个以+开头)。因此self指向一个类对象。

通常,您可以通过创建充当委托的共享实例来解决该问题:

+ (id)sharedSessionDelegate // or whatever name, typically the class name
{
  static MyManager *sharedSessionDelegate;
  static dispatch_once_t onceToken;
  dispatch_once( &onceToken, 
  ^{
    sharedSessionDelegate = [self new];
  });

  return sharedSessionDelegate;
}

答案 1 :(得分:-1)

您是否在.h文件中添加了委托如下?

@interface ViewController : UIViewController < NSURLSessionDelegate > {
...
}