我想在NSURLSession上創建一個類別。該應用程序編譯好了,但是當我試圖調用類的方法,我得到iOS:在運行時未找到NSURLSession類別方法
-[__NSCFURLSession doSomething]: unrecognized selector sent to instance 0xbf6b0f0
<unknown>:0: error: -[NSURLSession_UPnPTests testCategory] : -[__NSCFURLSession doSomething]: unrecognized selector sent to instance 0xbf6b0f0
很奇怪,這裏是一個測試類我建立了以顯示問題。 NSString上的類別工作正常,但NSURLSession上的類別未能在運行時找到該方法。我懷疑這是內在的東西。
意見請:-)
#import <XCTest/XCTest.h>
@interface NSString (test)
-(void) doSomethingHere;
@end
@implementation NSString (test)
-(void) doSomethingHere {
NSLog(@"Hello string");
}
@end
@interface NSURLSession (test)
-(void) doSomething;
@end
@implementation NSURLSession (test)
-(void) doSomething {
NSLog(@"Hello!!!!");
}
@end
@interface NSURLSession_UPnPTests : XCTestCase
@end
@implementation NSURLSession_UPnPTests
-(void) testCategory {
[@"abc" doSomethingHere];
NSURLSession *session = [NSURLSession sharedSession];
[session doSomething];
}
@end
沒錯。我已經重新編寫了使用組合。儘管如此,我仍然對好奇心很好奇。 Bug報告給蘋果公司。 – drekka
你有沒有在這個問題上找到更多的東西?我有同樣的問題。蘋果對你的錯誤報告有何迴應?如果可能的話,我希望能夠使用一個類別。 – stevekohls
@drekka:你可以在蘋果論壇上發佈bug鏈接嗎?即使我面臨類似的問題,也無法從iOS7中調用任何自定義的NSURLSession子類/類別方法。它在> = iOS8中工作正常。無論如何,請讓我知道你是否可以幫助我。 –