我必须在选择某些数组值之前显示复选标记,我必须显示数组值1的复选标记,而不显示0.如何执行此操作..检查以下代码:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
cell.textLabel?.text = AllItems[indexPath.row] as? String
for dict1 in selectedItems
{
if Intvalues == dict1 as? NSObject {
// I have to show CheckMark
}
else if ZeroIntvalues == dict1 as? NSObject
{
// I don’t need to show CheckMark
}
}
cell.textLabel?.textColor = UIColor.whiteColor()
return cell
}
答案 0 :(得分:3)
由于@ Paulw11的原因,你的代码错了。每个tableViewCell都会显示复选标记,因为for
循环的最后一个对象始终为1
。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
cell.textLabel?.text = AllItems[indexPath.row] as? String
if Intvalues == AllItems[indexPath.row] as? Int {
// I have to show CheckMark
cell.accessoryType = .Checkmark
} else {
cell.accessoryType = .None
}
cell.textLabel?.textColor = UIColor.whiteColor()
return cell
}
答案 1 :(得分:1)
Tableview单元格有附件类型, 在tableviewCellForRowAtIndexPath
中使用它cell.accessoryType = UITableViewCellAccessoryCheckmark;
答案 2 :(得分:1)
您在下方显示复选标记。
cell.accessoryType = .None
if Intvalues == dict1 as? NSObject {
// I have to show CheckMark
cell.accessoryType = .Checkmark
}
答案 3 :(得分:1)
这是我在我的应用中使用的一种方法,
如果您使用的是webservice,那么在调用webservice之后 实现这个逻辑:
这个代码在webservice调用部分:
for i in 0..<arrNL.count {
let dict = arrNL[i].mutableCopy() as! NSMutableDictionary
dict.setObject("0", forKey: "isChecked")
self.arrNotificationList.addObject(dict)
}
// Here 0 indicates that initially all are uncheck.
现在管理CellForRowAtIndexPath中的条件:
let dict = arrNotificationList[indexPath.row] as! NSDictionary
if(dict["isChecked"] as! String == "0") { // Unchecked
cell.btn_CheckUnCheck.setImage(UIImage(named: "uncheck"), forState: UIControlState.Normal)
} else { // Checked
cell.btn_CheckUnCheck.setImage(UIImage(named: "check"), forState: UIControlState.Normal)
}
// in this condition you can manage check uncheck status
现在我们可以检查或取消选中一个按钮的代码
let dict = arrNotificationList[indexValue] as! NSMutableDictionary
if(dict["isChecked"] as! String == "1") {
dict.setObject("0", forKey: "isChecked")
} else {
dict.setObject("1", forKey: "isChecked")
}
arrNotificationList.replaceObjectAtIndex(indexValue, withObject: dict)
tblView.reloadData()