NSURLSessionTask类别方法崩溃,"无法识别的选择器发送到实例"

And*_*nko 6 objective-c ios objective-c-category

我需要添加方法NSURLSessionTask.这是我应该这样做的类别:

//  NSURLSessionTask+Extras.h

#import <Foundation/Foundation.h>

@interface NSURLSessionTask (Extras)

- (void)helloNSURLSessionTask;

@end

//  NSURLSessionTask+Extras.m

#import "NSURLSessionTask+Extras.h"

@implementation NSURLSessionTask (Extras)

- (void)helloNSURLSessionTask {
    NSLog(@"hello NSURLSessionTask!");
}

@end
Run Code Online (Sandbox Code Playgroud)

一切都编译好,自动完成工作,但当我调用此方法时,我的应用程序崩溃:

2014-06-27 12:32:23.916 Test[4333:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFLocalDataTask helloNSURLSessionTask]: unrecognized selector sent to instance 0x109723310'
Run Code Online (Sandbox Code Playgroud)

如果我添加类别NSObject,相同的方法是有效的,我似乎无法理解为什么它不适用NSURLSessionTask.

这是一个测试项目,它为我重现了这个问题:https://dl.dropboxusercontent.com/u/25100182/Test.zip

And*_*rea 5

不幸的是,NSURLSession似乎不支持类别.我遇到了一个像尝试添加关联对象的问题.
另见这里.