我收到这个警告:
Null passed to a callee that requires a non-null argument
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));
});
}
我该如何解决这个问题?我正在尝试清除所有警告。
最佳答案
没有任何 URL 就无法执行任务。 URL 不应为零。您应该提供 NSURL 来执行任务。
另外,你不应该给配置 nil。
你应该去吧
[NSURLSessionConfiguration defaultSessionConfiguration];
返回一个新创建的默认 session 配置对象。
或
[NSURLSessionConfiguration ephemeralSessionConfiguration];
返回一个 session 配置,该配置不使用缓存、cookie 或凭据的持久存储。
所以你应该尝试:
NSURLSessionDataTask *dataTask = [[NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]] dataTaskWithURL:@"your NSURL"];
注意:将@"your NSURL"视为 NSURL 而不是 NSString
关于ios - Xcode 7 iOS 9 收到此警告 Null 传递给需要非空参数的被调用方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32724185/