Как решить сбой в моем приложении iOS

Пока я тестирую свое приложение для iOS, в какой-то момент оно выходит из строя. журнал сбоев выглядит следующим образом, может ли кто-нибудь предложить мне, что может быть причиной сбоя. и как я могу легко понять, где происходит сбой из этих данных журнала сбоев

Thread 0 Crashed:
0   libobjc.A.dylib                 0x0000000192f881d0 objc_msgSend + 16
1   UIKit                           0x0000000189c7b2c8 -[_UIModalItemsCoordinator _notifyDelegateModalItem:tappedButtonAtIndex:] + 120
2   UIKit                           0x0000000189c7b1e8 -[_UIModalItemAlertContentView tableView:didSelectRowAtIndexPath:] + 984
3   UIKit                           0x0000000189b6d794 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1260
4   UIKit                           0x0000000189c2e230 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 236
5   UIKit                           0x0000000189ac246c _applyBlockToCFArrayCopiedToStack + 352
6   UIKit                           0x0000000189a2e4a0 _afterCACommitHandler + 500
7   CoreFoundation                  0x0000000186a330a4 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 28
8   CoreFoundation                  0x0000000186a3032c __CFRunLoopDoObservers + 368
9   CoreFoundation                  0x0000000186a306b8 __CFRunLoopRun + 760
10  CoreFoundation                  0x00000001869716cc CFRunLoopRunSpecific + 448
11  GraphicsServices                0x000000018c655c08 GSEventRunModal + 164
12  UIKit                           0x0000000189aa2fd8 UIApplicationMain + 1152
13  whirlpool-minerva               0x0000000100047834 0x100024000 + 145460
14  libdyld.dylib                   0x000000019356ba9c start + 0

person user3437016    schedule 09.07.2014    source источник
comment
некоторый фактический код был бы хорош. Но я предполагаю, что что-то не так с вашим UITableView   -  person Berti    schedule 09.07.2014
comment
Это может помочь: stackoverflow.com/questions/19001528/   -  person Mrunal    schedule 09.07.2014
comment
установить свойство делегата   -  person IKKA    schedule 09.07.2014
comment
См. stackoverflow.com/a/12268397/581994. Однако похоже, что ваша проблема связана с тем, как вы настроили табличное представление - неверный указатель делегата или что-то в этом роде.   -  person Hot Licks    schedule 09.07.2014


Ответы (1)


Делегат UIAlertView освобождается до закрытия оповещения.

Если у вас есть объект, который настроен как делегат UIAlertView, и объект может «умереть» в какой-то момент выполнения приложения (возможно, когда предупреждение отображается на экране), вы должны установить для свойства delegate представления предупреждения значение nil в методе -dealloc. Вы должны сохранить ссылку на созданное оповещение.

Простой пример:

@property (nonatomic, strong) UIAlertView *alert;
...
self.alert = [[UIAlertView alloc] initWith... delegate:self ...];
[self.alert show];
...
- (void)dealloc {
    self.alert.delegate = nil;
}
person kambala    schedule 09.07.2014