2012-10-01 14 views
24

Otrzymuję niepowodzenie asercji podczas przewijania widoku próbnika w/zera danych (zero rzędów). Podczas przewijania widoku selektora otrzymuję awarię. Testy na iOS 6Błąd asercji w widoku próbnika

* błąd potwierdzenia w - [UITableViewRowData rectForRow: inSection:], /SourceCache/UIKit_Sim/UIKit-2372/UITableViewRowData.m:1630

* zakończenie aplikacji ze względu na przechwycony wyjątek 'NSInternalInconsistencyException' powodu: 'żądanie rect w nieprawidłowej ścieżki indeks (2 indeksy [0, 0])'

Każda pomoc jest znacząca.

+1

Po prostu pojawił się dla mnie, gdy wszyscy zaczęli aktualizować do iOS6. Miałem zero wypadków związanych z tym przed wydaniem systemu iOS. – iwasrobbed

+0

Mogę potwierdzić, że to tylko iOS 6. iOS 5 nie ulega awarii z pustym widokiem. – Vinnie

+0

Uff. Aha ... Zastanawiałem się, dlaczego nasza aplikacja nagle zaczęła się rozbijać w każdym miejscu. Dzięki wyżej komentujący za zauważenie! – Kalle

Odpowiedz

39

mam ten sam problem

Nie wiem, dlaczego to się stało, jest

ale może być ustalona w iOS6 (jak to działa w iOS5 nie sprawdzałem):

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{ 
    if ([self getCount] == 0) 
     return 1; 
    return [self getCount]; 
} 

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent: (NSInteger)component reusingView:(UIView *)view { 
    if ([self getCount] == 0) 
     return nil; 
} 
+1

Zrobiłem lewę, dziękuję ... dziwne, zastanawiam się, czy to błąd w strukturze –

+1

@INT: Czy to błąd? – Manoj

+0

To musi być ... wydaje się dziwne, aby zwrócić 1, gdy jest pusty – iwasrobbed

0

Odpowiedź jest w rzeczywistości bardzo prosta! Po napotkaniu tego problemu odkryłem, że musisz ustawić delegata i źródło danych do kontrolera widoku, do którego jest podłączony widok próbny.

+1

Bez delegata i źródła danych nigdy nie przejdzie ono na metody delegatów. – Madhu

Powiązane problemy