I am using Crashlytics to detect the crashes in my app. I occasionally get the follow crash report.
The key crash point is -[NSObject(NSObject) doesNotRecognizeSelector:] and MyViewController.m line 596 -[MyViewController prepareForSegue:sender:]. I don't know what's the problem of that from the log. Is is possible a multi-threading issue? I am also using Parse SDK to retrieve the data from Parse cloud. And prepareForSegue:sender: method will be invoked when the user tap the disclosure indicator, it should run in main thread. Would you please give me some hint to troubleshoot this issue. Thanks in advance.
Here is how I call 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: method is triggered by accessoryButtonTappedForRowWithIndexPath: method. I can't see any other way to invoke prepareForSegue:sender: method. So I don't why indexPath.row causes the 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
It is because in the view that you are opening up into, somewhere you are trying to call a method called row
on a UITableViewCell
.
You can see this in the first line of your crash log:
-[UITableViewCell row]: unrecognized selector sent to instance 0x1f8a6dd0
You should track down what object you are calling row
on and make sure that you are calling it on the object that you think you are and not a UITableViewCell
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With