【发布时间】:2017-05-17 12:30:39
【问题描述】:
我需要向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
一切都编译得很好,自动完成工作,但是当我调用这个方法时,我的应用程序崩溃了:
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'
如果我将类别添加到NSObject,则同样的方法有效,但我似乎无法理解为什么它不适用于NSURLSessionTask。
这是一个为我重现此问题的测试项目:https://dl.dropboxusercontent.com/u/25100182/Test.zip
【问题讨论】:
标签: ios objective-c objective-c-category