我收到了这个警告:
Null传递给需要非空参数的被调用者
NSURLSessionDataTask * dataTask = [[NSURLSession sessionWithConfiguration:nil] dataTaskWithURL:nil];
以下是完整的方法:
+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSURLSessionDataTask *dataTask = [[NSURLSession sessionWithConfiguration:nil] dataTaskWithURL:nil];
Class taskClass = [dataTask superclass];
af_addMethod(taskClass, @selector(af_resume), class_getInstanceMethod(self, @selector(af_resume)));
af_addMethod(taskClass, @selector(af_suspend), class_getInstanceMethod(self, @selector(af_suspend)));
af_swizzleSelector(taskClass, @selector(resume), @selector(af_resume));
af_swizzleSelector(taskClass, @selector(suspend), @selector(af_suspend));
});
}
我该如何解决这个问题?我正在努力清理所有警告。
答案 0 :(得分:3)
如果没有任何网址,您将无法执行任务。网址不应为零。您应该为执行任务提供NSURL。
此外,您不应该为配置指定nil。
你应该去
[NSURLSessionConfiguration defaultSessionConfiguration];
返回新创建的默认会话配置对象。
或
[NSURLSessionConfiguration ephemeralSessionConfiguration];
返回对缓存,cookie或凭据不使用持久存储的会话配置。
所以你应该尝试:
NSURLSessionDataTask *dataTask = [[NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]] dataTaskWithURL:@"your NSURL"];
注意:考虑@"你的NSURL"作为NSURL而不是NSString