Categories: Xcode

UITableViewCell で文字が入れ替わる!の対処

UITableViewCell で、画面をスクロールすると他のセルの内容と入れ替わってしまう場合があります。

そうした現象が発生すると思われるのは大体が
– (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
に、こんな風に書いていると思います。

[code:cpp]
static NSString *CellIdentifier = @”Cell”;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if ( cell == nil ) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}[/code]

CellIdentifier に同じ “Cell” というのが入っていて、文字が入れ替わるんじゃないのかと推測(テキトーだなー)
それなら、それぞれに違う値を入れてやります。
例えば、Cell が 10個あった場合、for とかで 10回まわして 10個用意してしまえ!という感じで、こうかな。

[code:cpp]
NSMutableArray *identifiers = [NSMutableArray array];
for ( int i = 1; i

Share

Recent Posts

移転を計画中?

新たにドメインを取得し、サイト…

4年 ago

iPhone から Android へ乗り換えた

長く使ってきた iPhone …

6年 ago

Chrome の拡張機能がウェブサイトからインストールを中止

ブラウザのアドオン、拡張機能と…

6年 ago

iOS 12 と macOS 10.14 Mojave 対応機種

iOS 12 と macOS …

6年 ago