2012-05-03 7 views
0

Я видел эту проблему со многими другими, прошел через все темы, но я не могу найти решение для нее.Приложение сбой при прокрутке через список

Итак, у меня есть обычный вид таблицы с ячейкой, связанной с .xib-файлом, при первом запуске все выглядит нормально, но как только я начну прокрутку, приложение немедленно сработает.

, позволяя объектам зомби я получил эту ошибку:

2012-05-03 16:18:13.008 coop_dev[27547:f803] * -[ActivityTableViewController tableView:cellForRowAtIndexPath:]: message sent to deallocated instance 0x6853990

Но я не уверен, что искать или что может пойти не так:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    ItemCell *cell = (ItemCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if(cell == nil) 
    { 
     NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ItemCell" owner:nil options:nil]; 
     cell = [topLevelObjects objectAtIndex:0]; 
    } 

    Item *item = [self.activity objectAtIndex:indexPath.row]; 

    [[cell projectLabel] setText:item.project]; 
    [[cell descriptionLabel] setText:item.description]; 
    [[cell timeLabel] setText:item.time]; 
    [[cell timeAgoLabel] setText:item.timeAgo]; 
    //cell.avatar = [UIImageView item.avatar]; 

    cell.descriptionLabel.numberOfLines = 0; 
    [cell.descriptionLabel sizeToFit]; 

    // remove the right arrow 
    cell.accessoryType = UITableViewCellAccessoryNone; 

    return cell; 
} 

Он отлично работает при первом запуске но после того, что просто падает

EDIT

Я воссоздал проблему в новой проект, просто базовая таблица с некоторыми данными, как только вы начнете прокручивать ее сбой. Скачать: http://dl.dropbox.com/u/274185/TestTable.zip

+0

Попытайтесь убедиться, что self.activity не nil – danielbeard

+0

Я установил некоторые точки останова, но он, кажется, сбой, прежде чем он достигнет их –

+0

Я не думаю, что код, который вы опубликовали, имеет отношение к вашим проблемам. Отправьте код, создающий экземпляр ActivityTableViewController, пожалуйста. –

ответ

2

В вашем FirstViewController.xib удалите UITableViewController, но оставьте UITableView. Авария происходит потому, что File's Owner уже установлен как класс FirstViewController в Identity Inspector, и это похоже на то, что у вас есть второй UITableViewController. Убедитесь, что UITableView подключен к розетке контроллера контроллера.

+0

Это имеет смысл для этого приложения, в котором я работаю теперь структура немного отличается: http://dl.dropbox.com/u/274185/coop_dev.zip –

+0

Проблема такая же в вашем ActivityViewController.xib - удалите UITableViewController там, но оставьте UITableView – graver

+0

. Но как будет Я так управляю таблицей? Теперь он контролируется ActivityViewTableController –

0

Вы код является освобождением пакета из очереди откусили ... попробуйте мой:

 UITableViewCell *cell = [[UITableViewCell alloc] init]; 
cell = nil; 
if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
            reuseIdentifier:@"cell"] 
      autorelease]; 


    cell.imageView.image = nil; 
    cell.textLabel.text = nil; 

} 
+0

OP хочет ячейку от NIB, а не создавать новую. – ssteinberg

0

Проверьте ItemCell класс dealloc метода, вы, вероятно, что-то overreleasing.

+0

У меня только [super dealloc]; в этом, это мой ItemCell в качестве ссылки: http://pastebin.com/2J37Gjx2 –

+0

Пожалуйста, взгляните на мое редактирование, я приложил демонстрационный проект –

Смежные вопросы