Я использую Crashlytics для обнаружения сбоев в моем приложении. Я иногда получаю следующий отчет о сбоях.- [NSObject (NSObject) doesNotRecognizeSelector:] сбой при вызове - [ViewController prepareForSegue: sender:]
Ключевой момент столкновения - [NSObject (NSObject) doesNotRecognizeSelector:] и MyViewController.m строка 596 - [MyViewController prepareForSegue: sender:]. Я не знаю, в чем проблема этого из журнала. Возможно ли многопоточная проблема? Я также использую Parse SDK для извлечения данных из облака Parse. И метод prepareForSegue: sender: метод будет вызываться, когда пользователь коснется индикатора раскрытия, он должен работать в основном потоке. Не могли бы вы дать мне несколько советов по устранению этой проблемы. Заранее спасибо.
Вот как я называю 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: Отправитель: метод вызывается accessoryButtonTappedForRowWithIndexPath: метод. Я не вижу другого способа вызвать метод prepareForSegue: sender:. Поэтому я не понимаю, почему indexPath.row вызывает исключение.
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
показать код, который вы написали в методе '- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath' –
Я попытался установить crashlytics, но я предполагаю, что это ранний этап, только по приглашению приложение, которое вы можете установить? – abbood
@abbood, вы можете использовать его бесплатно прямо сейчас. –