«Подразумеваемое еще» if (cell == nil)
заключается в том, что он повторно использует ячейку из кэша таблицы. Он ничего не сбрасывает, просто подбирает их и использует. Это означает, что любой элемент, который у вас есть, должен быть очищен вручную, особенно если пройдет некоторое время, прежде чем он будет заполнен.
Вы уже делаете некоторые дефолты, здесь:
if([urlLink length] ==0)
{
imageView.image=[UIImage imageNamed:@"ioffer.png"];
}
Если вы просто сделаете это НЕ условным, то есть просто скажете
imageView.image=[UIImage imageNamed:@"ioffer.png"];
то, что вы получите, ваша ячейка загрузится с изображением по умолчанию, а затем, когда изображение загрузится удаленно, заменит его.
СЕЙЧАС: Вы загружаете это изображение синхронно. Это означает, что весь ваш пользовательский интерфейс будет зависать во время выполнения веб-запроса. Не отлично.