2017-11-05 6 views
1

私はStoryboardsでカスタムTableViewセルを作成しようとしていました。正しいデータは、ViewControllerがロードされたときに表示されます。しかし、前後にスクロールを開始すると、データは適切な場所ではなく、ランダムなセルに表示されます。Xcode - カスタムTableViewCellが間違ったデータを表示する

 if dayOfWeek!-1 == indexPath.row { 
     cell.textLabel?.font = UIFont.boldSystemFont(ofSize: (cell.textLabel?.font.pointSize)!) 
     cell.detailTextLabel?.font = UIFont.boldSystemFont(ofSize: (cell.detailTextLabel?.font.pointSize)!) 
    } 

しかし、同様のことが起こった::太字は、最初は右のようで、テキストがランダムなセルに太字されている私も、プログラムによってこのような大胆な右の詳細セルのテキストを作成しようとしていました。どのようにこれを修正するための任意のアイデア?ありがとう!

+0

textLabelまたはdetailtextlabelでデータを設定した場所が表示されませんでしたか?どうか明らかにしてください。 –

答えて

6
class CustomTableViewCell: UITableViewCell { 

    override func prepareForReuse() { 
     // your cleanup code 
    } 
} 

は、細胞内のindexpath

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell: CustomTableViewCell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath) as! CustomTableViewCell 
if dayOfWeek!-1 == indexPath.row { 
     cell.textLabel?.font = UIFont.boldSystemFont(ofSize: (cell.textLabel?.font.pointSize)!) 
     cell.detailTextLabel?.font = UIFont.boldSystemFont(ofSize: (cell.detailTextLabel?.font.pointSize)!) 
    } 
     return cell 
    } 
0

のためにあなたはそれを呼び出したテーブルビューをリロードする必要があります。 ランダムに表示されたデータは、さまざまなセルによって互いに引き合わされるプロパティによるものです。

単一ビューで複数のテーブルビューを使用している場合は、この種の問題に直面しています。 したがって、要素が誤ってプロパティを考慮しているセルは、「RELOAD」であるテーブルビューをリフレッシュすることで解決できます。

データがAPIからのものである場合は、主な配列にレスポンスデータを置き、テーブルビューを再読み込みすることが効果的です。

関連する問題