NSURLConnection sendSynchronousRequest在慢速网络上崩溃



我正在使用NSURLConnection sendSynchronousRequest下载数据,它在该语句时崩溃。

代码如下:

_url = [NSURL URLWithString:[urlString urlEncodeUsingEncoding:NSUTF8StringEncoding]];
_urlRequest = [[NSMutableURLRequest alloc] initWithURL:self.url];
NSHTTPURLResponse *response = nil;
NSError *error = nil;
if(![self isCancelled])
 {
       _receivedData = [NSURLConnection sendSynchronousRequest:_urlRequest returningResponse:&response
                                                                    error:&error];
 }
 _error = error;

原因:

*由于未捕获的异常而终止应用程序'NSInvalidArgumentException',原因:'-[__NSCFType URL]:无法识别选择器发送到实例0x1cd2eaf0'

当我回溯时,我得到这个:

    线程#7:tid = 0x240f, 0x397a1350 libsystem_kernel。dylib __pthread_kill + 8, queue = 'com.apple.root.default-priority', stop reason = signal SIGABRT frame #0: 0x397a1350 libsystem_kernel.dylib __pthread_kill + 8帧#1:0x39718122 libsystem_c. c.dylib pthread_kill + 58 frame #2: 0x39754972 libsystem_c.dylib abort + 94框架#3:0x38cf2d4e libc++abi。dylib abort_message + 74 frame #4: 0x38cefff8 libc++abi.dylib default_terminate() + 24框架#5:0x392a3a76 libobjc.A.dylib _objc_terminate() + 146 frame #6: 0x38cf007a libc++abi.dylib safe_handler_caller(void (*)()) + 78框架#7:0x38cf0114 libc++abi。dylib std::terminate() + 20 frame #8: 0x38cf1512 libc++abi.dylib __cxa_throw + 122框架#9:0x392a39be libobjc.A.dylib objc_exception_throw + 94 frame #10: 0x31626e06 CoreFoundation -[NSObject(NSObject) doesNotRecognizeSelector:] + 170帧#11:0x31625530 CoreFoundation ___forwarding___ + 392 frame #12: 0x3157cf68 CoreFoundation _CF_forwarding_prep_0 + 24frame #13: 0x31f5e21e Foundation +[NSURLConnection sendSynchronousRequest:returningResponse:error:] + 334 * frame #14: 0x001268d0 Rangeela -[RGFeedOperation main](self=0x1cd35180,_cmd=0x370c3394) + 3284 at RGFeedOperation.m:90框架#15:0x31eb0550基础-[__NSOperationInternal start] + 840 frame #16: 0x31f28be2 Foundation __block_global_6 + 102帧#17:0x396bb11e libdispatch。dylib _dispatch_call_block_and_release + 10 frame #18: 0x396c9258 libdispatch.dylib _dispatch_root_queue_drain + 260帧#19:0x396c93b8 libdispatch。dylib _dispatch_worker_thread2 + 84 frame #20: 0x396efa10 libsystem_c.dylib _pthread_wqthread + 360

谁能帮我解决这个问题?

看看你的错误消息,你试图将一个方法发送给一个没有该方法的对象。检查所有的声明,并确保将正确类型的对象发送给崩溃的例程。你是否在需要NSURLResponse或NSURLConnection的地方发送了一个NSURL ?

最新更新