2013-12-06 3 views
0

У меня есть пользовательский UITableviewCell с изображением в нем.uitableviewcell не обновляет изображение за пределами cellforrowatindexpath

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

// Update cell 
CustomCell *cell = (CustomCell *)[self.feedTableView cellForRowAtIndexPath:index]; 

NSLog(@"%@", cell.userNameLabel.text); 

cell.sampleImage.image = [UIImage imageNamed:@"cell_sample.png"]; 

[self.feedTableView reloadData]; 

Я добавил NSLog, чтобы показать, что Ячейка CustomCell * фактически вытягивает правильную ячейку. Он выводит строку точно так, как я ожидал бы, но установка изображения ничего не делает.

Любая идея, почему это не сработает? Другой раздел в моем приложении использует тот же метод и, кажется, работает просто весело. Разделить его не помогло. Благодаря!

+0

может быть, это немое quesiton, и, пожалуйста, извините, если это так, но является ли табличное вытягивание данных из некоторого массива, когда вы его сначала заселяете? вы обновляете значение для образца изображения в этом массиве? Если нет, вы обновляете изображение и сразу же перезаписываете его исходным изображением из источника данных. Да? – d2burke

+0

Не глупый вопрос вообще! Изображение на самом деле является общим заполнителем, и как только пользователь выполняет задачу, изображение обновляется, чтобы отразить это изменение! –

ответ

0

Да, ваш код не будет работать, потому что вы перезагружаете свой стол. Перегрузочный таблицу переопределяет то, что вы сделали в линии перед ним, как он будет вызывать tableView:cellForRowAtIndexPath: снова

Попытки спасти изображения в массиве, а затем считан из этого массива в методе tableView:cellForRowAtIndexPath:

+0

Я думаю, что я не объяснил это правильно, потому что вы делаете отличную оценку, но мое приложение не настроено для этого. С учетом сказанного вы просто косвенно ответили на мой вопрос, и теперь у меня есть решение. В принципе, я разобрался и забыл, что вызов reload tableview проходит через полный метод pathForRowAtIndex. Теперь я знаю, что я должен делать, так что большое спасибо! –

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