2016-04-27 8 views
1

カスタムUITableViewCellでUILabelの値をセルをリロードせずに設定することはできますか? ..swift - set UITableViewCellを再ロードせずにUILabelを設定する

let indexPath = NSIndexPath(forRow: 0, inSection: 0) 
let cell = tableView.cellForRowAtIndexPath(indexPath) as! CustomTableViewCell1 
cell.customLabel.text = "text goes here" 

と、これは動作しませんなぜ私は理解していない:

私は、多くの順列を試してみました。 UITableViewCellにUITextFieldがあり、textFieldの値を設定すると、ラベルのみを更新したいが、セル全体を再読み込みしないようにしたい。助言がありますか?

+0

は、あなたのテキストを設定した後cell.customLabel.setNeedsDisplayを()を起動しようとしたことがありますか? –

+0

@AlessandroOrnano - ありがとう、これも同様に動作します – Shane

答えて

2
cell.customLabel.setNeedsDisplay() 
+1

この回答は私が理解しやすくなります。 – Shane

2

あなたがUIViewsを更新したい場合は、メインスレッドでそれらを配置する必要があります。

dispatch_async(dispatch_get_main_queue(),{ 
    cell.customLabel.text = "text goes here" 
}) 
+0

ありがとう、これは私のために働く – Shane

+0

それは主なスレッドではない背景私は思う! :) – Lion

+0

ところで良い答え: – Lion

関連する問題