快速适度经验,但现在潜入阵列。
我在tableview cellForRow中调用了一个数组 该数组调用几个“默认”项。 “的ItemData” 用户选择条目,并将其保存到名为“diveItemArray”的数组中。
当用户返回到同一个tableview时,我试图让checkmark加载与diveItemArray数组匹配。
我正在尝试使用.contains(separator :)查找匹配项,但无效。
以下运行,但不显示复选标记。
var diveItemArray: Array<DiveItemForDiveModel> = Array<DiveItemForDiveModel>()
private var itemData: Array<String> = Array<String>()
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell: UITableViewCell! = tableView.dequeueReusableCell(withIdentifier: "DiveItemCell")
cell.textLabel?.text = itemData[indexPath.row]
let names = diveItemArray.map { $0.name }
let test2 = names.joined(separator: " ")
if itemData[indexPath.row].contains(test2) {
cell.accessoryType = UITableViewCellAccessoryType.checkmark
}
return cell
}
如果我打印itemData,我会得到:
["", "Fun Dive", "Qualification Dive", "Refresher Dive", "Educational Dive", "Night Dive", "Deep Dive", "Wreck Dive", "Cave Dive", "Ice Dive", "Freshwater Dive", "Test Dive"]
如果我打印diveItemArray,我会得到:
["Deep Dive", "Wreck Dive", "Freshwater Dive", "Refresher Dive"]
如果我打印test2,如果得到:
Deep Dive Wreck Dive Freshwater Dive Refresher Dive
如何获得匹配以显示复选标记?