Эта строка:
[[cell imageView] initWithImage:thumbnail];
звучит довольно странно.Если imageView уже был инициализирован, например, с помощью пера, тогда нет необходимости повторно инициализировать снова (с нежелательными результатами, поскольку init должен вызываться один раз в жизни объекта).Вместо этого, если экземпляр imageView еще не был alloc-init, тогда [cell imageView] будет нулевым, и вызов initWithImage: не будет иметь никакого эффекта вообще.
Таким образом, вы говорите, что cell.imageView не равен nil,поэтому ваш init methodWithImage: метод, вероятно, изменит кадр представления изображения, и это объясняет, почему оно было перемещено куда-то еще, чем ваша xib (возможно, оно было помещено в начало представления ячейки).Не забывайте, что когда изображение загружается из xib, вместо этого вызывается метод initWithCoder:
Что вы можете сделать для обхода, это код (не проверенный), который заменяет существующую ячейку новойcell:
CGRect oldFrame = cell.imageView.frame;
UIImageView *newImageView = [[[UIImageView alloc] initWithImage:thumbnail] autorelease];
newImageView.frame=oldFrame;
[self.view addSubview:newImageView];
cell.imageView=newImageView;
Конечно, это решение не элегантно, и было бы лучше, если бы вы могли исправить проблемы с KVC.Причина, по которой вы получаете эти ошибки, мне не ясна, я должен увидеть код и xib.Он не понимает, что вы имеете в виду под словом «не работает».Там не должно быть уловок, если только вы не будете поражены такими ошибками.