- [NSObject (NSObject) doesNotRecognizeSelector:] call failed - [ViewController prepareForSegue: sender:]

I use Crashlytics to detect crashes in my application. I sometimes get the following crash report.

The key point of failure is [NSObject (NSObject) doesNotRecognizeSelector:] and MyViewController.m line 596 is [MyViewController prepareForSegue: sender:]. I do not know what the problem of this is from the magazine. Is a multithreaded problem possible? I also use the Parse SDK to retrieve data from the Parse cloud. And the prepareForSegue: sender: method will be called when the user touches the disclosure indicator, it should work in the main thread. Could you give me some tips to fix this problem. Thank you in advance.

This is how I call the prepareForSegue: sender: method.

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath { [self performSegueWithIdentifier:@"oneSegue" sender:indexPath]; } - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"oneSegue"]) { NSIndexPath *indexPath = (NSIndexPath*)sender; OneViewController *destViewController = segue.destinationViewController; OneClass* oneObject = self.array[indexPath.row]; destViewController.objectName = oneObject.name; } } 

prepareForSegue: sender: the method is started using the accessoriesButtonTappedForRowWithIndexPath: method. I see no other way to call prepareForSegue: sender :. So I don't understand why indexPath.row raises an exception.

 Fatal Exception NSInvalidArgumentException -[UITableViewCell row]: unrecognized selector sent to instance 0x1f8a6dd0 0 CoreFoundation __exceptionPreprocess + 162 1 libobjc.A.dylib objc_exception_throw + 30 2 **CoreFoundation -[NSObject(NSObject) doesNotRecognizeSelector:] + 170** 3 CoreFoundation ___forwarding___ + 392 4 CoreFoundation _CF_forwarding_prep_0 + 24 5 MyApp MyViewController.m line 596 **-[MyViewController prepareForSegue:sender:]** 6 UIKit -[UIStoryboardSegueTemplate _perform:] + 128 7 UIKit -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 828 8 UIKit -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 156 9 ... Foundation __NSFireDelayedPerform + 450 10 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 14 11 CoreFoundation __CFRunLoopDoTimer + 272 12 CoreFoundation __CFRunLoopRun + 1232 13 CoreFoundation CFRunLoopRunSpecific + 356 14 CoreFoundation CFRunLoopRunInMode + 104 15 GraphicsServices GSEventRunModal + 74 16 UIKit UIApplicationMain + 1120 17 MyApp main.m line 16 main 18 libdyld.dylib start 9 Threads com.apple.main-thread Crashed 0 ... libsystem_kernel.dylib __pthread_kill + 8 1 libsystem_c.dylib pthread_kill + 58 2 libsystem_c.dylib abort + 94 3 libc++abi.dylib abort_message + 74 4 libc++abi.dylib default_terminate() + 24 5 libobjc.A.dylib _objc_terminate() + 146 6 libc++abi.dylib safe_handler_caller(void (*)()) + 78 7 libc++abi.dylib std::terminate() + 19 8 libc++abi.dylib __cxa_current_exception_type 9 libobjc.A.dylib objc_exception_rethrow + 12 10 CoreFoundation CFRunLoopRunSpecific + 456 11 CoreFoundation CFRunLoopRunInMode + 104 12 GraphicsServices GSEventRunModal + 74 13 UIKit UIApplicationMain + 1120 14 MyApp main.m line 16 main com.apple.libdispatch-manager 0 ... libsystem_kernel.dylib kevent64 + 24 1 libdispatch.dylib _dispatch_mgr_invoke + 796 2 libdispatch.dylib _dispatch_mgr_thread$VARIANT$mp + 35 WebThread 0 ... libsystem_kernel.dylib mach_msg_trap + 20 1 libsystem_kernel.dylib mach_msg + 40 2 CoreFoundation __CFRunLoopServiceMachPort + 128 3 CoreFoundation __CFRunLoopRun + 882 4 CoreFoundation CFRunLoopRunSpecific + 356 5 CoreFoundation CFRunLoopRunInMode + 104 6 WebCore RunWebThread(void*) + 444 7 libsystem_c.dylib _pthread_start + 308 com.crashlytics.MachExceptionServer 0 libsystem_kernel.dylib mach_msg_trap + 20 1 libsystem_kernel.dylib mach_msg + 40 2 MyApp CLSMachExceptionServer 3 libsystem_c.dylib _pthread_start + 308 com.apple.NSURLConnectionLoader 0 ... libsystem_kernel.dylib mach_msg_trap + 20 1 libsystem_kernel.dylib mach_msg + 40 2 CoreFoundation __CFRunLoopServiceMachPort + 128 3 CoreFoundation __CFRunLoopRun + 882 4 CoreFoundation CFRunLoopRunSpecific + 356 5 CoreFoundation CFRunLoopRunInMode + 104 6 Foundation +[NSURLConnection(Loader) _resourceLoadLoop:] + 308 7 Foundation __NSThread__main__ + 972 8 libsystem_c.dylib _pthread_start + 308 Thread 5 0 ... libsystem_kernel.dylib mach_msg_trap + 20 1 libsystem_kernel.dylib mach_msg + 40 2 CoreFoundation __CFRunLoopServiceMachPort + 128 3 CoreFoundation __CFRunLoopRun + 882 4 CoreFoundation CFRunLoopRunSpecific + 356 5 CoreFoundation CFRunLoopRunInMode + 104 6 Foundation -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 254 7 Foundation -[NSRunLoop(NSRunLoop) run] + 80 8 MyApp PF_AFURLConnectionOperation.m line 151 +[PF_AFURLConnectionOperation networkRequestThreadEntryPoint:] 9 Foundation __NSThread__main__ + 972 10 libsystem_c.dylib _pthread_start + 308 Thread 6 0 ... libsystem_kernel.dylib __psynch_cvwait + 24 1 libsystem_c.dylib _pthread_cond_wait + 646 2 libsystem_c.dylib pthread_cond_wait + 40 3 Foundation -[NSCondition wait] + 194 4 MyApp PFCommandCache.m line 495 -[PFCommandCache runLoop] 5 Foundation __NSThread__main__ + 972 6 libsystem_c.dylib _pthread_start + 308 com.apple.CFSocket.private 0 ... libsystem_kernel.dylib __select + 20 1 CoreFoundation __CFSocketManager + 678 2 libsystem_c.dylib _pthread_start + 308 Thread 8 0 ... libsystem_kernel.dylib __workq_kernreturn + 8 1 libsystem_c.dylib _pthread_workq_return + 18 2 libsystem_c.dylib _pthread_wqthread + 365 Blog Privacy 
+4
ios objective-c crashlytics
Aug 19 '13 at 4:54 on
source share
1 answer

This is because in the view you open, somewhere you are trying to call the row method on a UITableViewCell .

You can see this in the first line of the crash log:

 -[UITableViewCell row]: unrecognized selector sent to instance 0x1f8a6dd0 

You need to keep track of which object you are calling row , and make sure you call it on the object that you think is, and not UITableViewCell .

+7
Aug 19 '13 at 4:58
source share



All Articles