tableview的選定行(.checkmark)值(字符串)保存在sqlite數據庫中,並且tableview必須重新載入相同的值,同時顯示覆選標記。代碼段下面給出swift如何從sqlite中重新載入tableview選定行(.checkmark)值
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print("selected \(arr[indexPath.row])")
if let cell = medTable.cellForRowAtIndexPath(indexPath) {
if cell.selected {
cell.accessoryType = .Checkmark
}
}
if let selectedrows = tableView.indexPathsForSelectedRows {
print("didDeselectRowAtIndexPath selected rows:\(selectedrows)")
let objRegisterModel: RegisterModel = RegisterModel()
medicationFor = "\(selectedrows)"
objRegisterModel.MedicationFor = medicationFor;
let splitString = objRegisterModel.MedicationFor.componentsSeparatedByString(",")
print("getSelectedrowsValues", splitString)
}
}
func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
print("deselected \(arr[indexPath.row])")
if let cell = medTable.cellForRowAtIndexPath(indexPath) {
cell.accessoryType = .None
}
if let sr = medTable.indexPathsForSelectedRows {
print("didDeselectRowAtIndexPath selected rows:\(sr)")
}
}
在重裝tableview中,顯示的值,但
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = medTable.dequeueReusableCellWithIdentifier(intervalCellIdentifier, forIndexPath: indexPath) as UITableViewCell
cell.accessoryType = .None
cell.textLabel?.text = arr[indexPath.row]
let objRegisterModel: RegisterModel = RegisterModelManager.getDBInstance().getRegisterDataByCurrentMedID(uid)
if objRegisterModel != "" {
medicationFor = objRegisterModel.MedicationFor
}
return cell
}
在sqliteDB保存的值顯示如下
**[<NSIndexPath: 0xc000000000200016> {length = 2, path = 0 - 1}]**
讓我們看看你的tableView (tableView:UITableView,numberOfRowsInSection節:Int)方法。 –
func tableView(tableView:UITableView,numberOfRowsInSection section:Int) - > Int { return arr.count } –
那麼存儲在arr數組中的值是什麼? –