UITableView падает на iPhone при прокрутке вниз - PullRequest
1 голос
/ 16 октября 2011

Я разрабатываю tableView, который вылетает, когда я запускаю его на своем iPhone, и я не знаю, почему это происходит. В симуляторе работает отлично. Однако в iPhone прокрутка не плавная и плавная. Когда я прокручиваю вниз, просто скрывая первый ряд, он вылетает и выходит из приложения.

Я нашел следующие строки в консоли Организатора:

Sat Oct 15 23:22:54 unknown ReportCrash[33018] <Notice>: Formulating crash report for process MyApp[33017]
Sat Oct 15 23:22:55 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:WAY.MyApp[0xf392]) Job appears to have crashed: Bus error
Sat Oct 15 23:22:55 unknown SpringBoard[31481] <Warning>: Application 'MyApp' exited abnormally with signal 10: Bus error
Sat Oct 15 23:22:55 unknown ReportCrash[33018] <Error>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/MyApp_2011-10-15-232254_iPhone-de-Ibai.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0

Есть идеи? Я попытался установить строки в 0, и он работает нормально. Затем попытался с 1 строки, и он снова начинает сбой. Я также попытался оставить строку пустой - ничего не делая в tableView:cellForRowAtIndexPath - без информации, чтобы увидеть, была ли проблема с чтением данных.

Если этот журнал не помогает, подскажите, какие методы вызываются при прокрутке вниз? Я думал, что это было только tableview:cellForRowAtIndexPath:

Спасибо!

EDIT:

tableView:cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"ContactsCell";

    ContactsCell *cell = (ContactsCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if(cell==nil){
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ContactsCell" owner:self options:nil];
        for(id currentObject in topLevelObjects){
            if([currentObject isKindOfClass:[UITableViewCell class]]){
                cell = (ContactsCell *) currentObject;
                break;
            }
        }
    }

    // Configure the cell...
    Person *persona =[contactsArray objectAtIndex:indexPath.row];

    //Introducimos en la celda los datos.
    [cell setCellNames:[persona name]];
    [cell setCellStates:@"En Donosti"];
    UIImage *contactImage = [UIImage imageWithData:[persona pic]];
    if(contactImage != nil)
        [cell setCellPics:contactImage];

    return cell;
}

Выполняя некоторую отладку с NSLog s, приложение перестает работать при вызове [table reload] (и я думаю, что это метод, который вызывается при прокрутке вниз).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...