2017-05-02 22 views
0

它的一個強制性。問題是默認的複選標記移動到11步。所以如果你在列表中有9個項目,你會發現列表中的9個項目沒有發生。但如果你在列表中有30個項目,你會看到3 checkmark.but它應該是一個哪一個我有choice?.isSelect == true複選標記Tableview自動製作

if choice?.isSelect == true { 
    //this code execute one time    
    print("===========Checkmark=================") 

    cell.accessoryType = .checkmark 

} 

一個點出:泰伯維其重用privious細胞,所以如果電池已經然後檢查11細胞自動檢查。我該如何修復?

回答

1

也許由於之前添加的重複使用性,複選標記仍保留在單元格中。試試這樣:

if choice?.isSelect == true { 
    //this code execute one time    
    print("===========Checkmark=================") 

    cell.accessoryType = .checkmark 

} 
else 
{ 
    cell.accessoryType = .none 
} 
+0

我的大腦不能正常工作..這就是我不解決這個問題的原因。謝謝 –

+1

'isSelect'是一個布爾值,所以你可以做'如果選擇?.isSelect {'(不需要'== true)'這更好的語義,讀起來像英文。 :) – Moritz

1

只要把else條件

if choice?.isSelect == true { 
    //this code execute one time    
    print("===========Checkmark=================") 

    cell.accessoryType = .checkmark 

    }else{ 
    cell.accessoryType = .none 
    } 
+0

同時回答@nazmul –

+0

好的謝謝你試圖幫助我1分鐘延遲我upvote你 –