我想在tableview中获取所有选定的值。
例如:
// I'm unable to loop through the tableview (myTableView.cells is not valid)
func saveClicked(sender:AnyObject)
{
let testArray = NSMutableArray()
for i in myTableView.cells
{
if (i.accessorytype = .CheckMark)
{
testArray.addObject(i)
}
}
}
答案 0 :(得分:1)
cell.accessoryType = .Checkmark
in" cellForRowAtIndexPath"委托方法
覆盖func tableView(tableView:UITableView,didSelectRowAtIndexPath indexPath:NSIndexPath){ if cell.accessoryType == .Checkmark { cell.accesoryType == .None 如果cell.accessoryType == .None {else cell.accesoryType = .Checkmark } }
答案 1 :(得分:0)
这是一个简化的例子。设置项目数组myItemsArray
并为其提供isChecked
属性bool
。然后,在didSelectRow
方法中,您将isChecked
值切换为true
或false
。然后,当您想要找到myItemsArray
中的哪些"单元格"(技术上的项目)的值为true
时,您可以通过数组进行迭代,如下所示。如果不清楚请告诉我。
var myItemsArray = [Items]()
var checkedItemsArray = [Items]()
override func tableView(tableView:UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
if cell.accessoryType == .Checkmark {
cell.accesoryType == .None
myItemsArray[indexPath.row].isChecked == false
} else if cell.accessoryType == .None {
cell.accesoryType = .Checkmark
myItemsArray[indexPath.row].isChecked == true
}
}
func saveClicked(){
myItemsArray.removeAll()
for i in 0...myItemsArray.count-1 {
if myItemsArray[i].isChecked == true{
checkedItemsArray.append(myItemsArray[i])
}
}
}