Ответ 1
Я бы предположил, что это связано с еще одной проблемой здесь в SO
Возникла проблема с WebView и системными элементами управления, запущенными из HTML.
Мы получаем несколько отчетов о сбоях в UIWebSelectSinglePicker
. Мы предполагаем, что это связано с пустым массивом источников данных. Однако это происходит в веб-просмотре. Как мы можем обойти это? предпочтет только собственное решение
изменить
происходит только на iphones, запуская iOS7 и iOS8
1 CoreFoundation __exceptionPreprocess + 127
2 libobjc.A.dylib objc_exception_throw + 36
3 CoreFoundation -[__NSArrayM objectAtIndex:] + 228
4 UIKit -[UIWebSelectSinglePicker pickerView:didSelectRow:inComponent:] + 56
5 UIKit -[UIPickerView _sendSelectionChangedForComponent:notify:] + 90
6 UIKit -[UIPickerTableView _scrollingFinished] + 152
7 UIKit -[UIScrollView(UIScrollViewInternal) _stopScrollDecelerationNotify:] + 842
8 UIKit -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:pin:tramplingDragFlags:] + 502
9 UIKit -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:pin:] + 28
10 UIKit -[UIScrollView _smoothScrollWithUpdateTime:] + 208
11 QuartzCore CA::Display::DisplayLinkItem::dispatch() + 96
12 QuartzCore CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 364
13 IOMobileFramebuffer IOMobileFramebufferVsyncNotifyFunc + 88
14 IOKit IODispatchCalloutFromCFMessage + 254
15 CoreFoundation __CFMachPortPerform + 130
16 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
17 CoreFoundation __CFRunLoopDoSource1 + 344
18 CoreFoundation __CFRunLoopRun + 1606
19 CoreFoundation CFRunLoopRunSpecific + 474
20 CoreFoundation CFRunLoopRunInMode + 104
21 GraphicsServices GSEventRunModal + 134
22 UIKit UIApplicationMain + 1438
23 MYAPP main (main.m:16)
24 libdyld.dylib start + 0
Я бы предположил, что это связано с еще одной проблемой здесь в SO
Возникла проблема с WebView и системными элементами управления, запущенными из HTML.
Я думаю, что нет ссылки с UIWebSelectSinglePicker
. Я думаю, вы пытаетесь получить доступ к объекту по индексу вне диапазона вашего массива.
Чтобы предотвратить это, вы можете добавить что-то вроде:
if(index < [self.myArray count] && [self.myArray count] > 0){
id myobject = [self.myArray objectAtIndex:index];
// do what you want here with your object
}
Чтобы отладить этот вид проблемы и найти, где это происходит, попробуйте добавить символическую точку останова: