UITableViewはセルを再利用しているので、「何もデータを表示しない」セルであってもセル内のラベルなどに初期値を代入しないと前回代入した値が残ってしまう。
下記のようにif (cell == nil)のelse句に初期化コードを書くべき。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"StockAttributeCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } else { cell.textLabel.text = @""; //ここでセルを初期化 } return cell; }