我正在使用此代码创建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'
它指出我不能代表;自我,但我该如何纠正?
答案 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 > {
...
}