NSURLSessionDownloadTask的Silence未实现的协议方法警告

时间:2014-06-28 23:55:03

标签: ios nsurlsession nsurlsessiondownloadtask

我正在试图弄清楚如何抑制我无意使用的委托方法的编译器警告。我知道我可以有一个空的方法体,但我仍然想找到一种不这样做的方法,所以它源代码中的代码较少。

我在这里看到了这个答案:Dynamic forwarding: suppress Incomplete Implementation warning

但这似乎使问题过于复杂。有没有办法在我的ViewController.h的头文件中只有一个衬垫,所以我从来没有看到这个警告?

感谢您提供的任何帮助。

为了记录,我想要对这种方法的警告保持沉默:

- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask
                                  didResumeAtOffset:(int64_t)fileOffset
                                 expectedTotalBytes:(int64_t)expectedTotalBytes;

1 个答案:

答案 0 :(得分:2)

错过必需的协议方法警告不应该被静音。

如果是可选方法,则应将其标记为此类,并且不会引发警告。正如它所要求的那样,你只是因为不包括它而要求崩溃。

如果被委派的对象尝试在其代理上调用此方法,并且您只是简单地抑制了警告而不是适当地包含它(因为它标记为 required ), 将崩溃unrecognized selector例外。

如果你想让警告静音,请加入方法,如果你真的不想做任何事情,只要把它放在空中就可以了。

例如:

- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didResumeAtOffset:(int64_t)fileOffset expectedTotalBytes:(int64_t)expectedTotalBytes {};

一个班轮。