在我的项目中遇到问题。
我有一个包含国家列表的tableview。选择国家/地区时,应在所选国家/地区添加复选标记附件。一切正常。
但是,我希望将旧国家的配件设置为无,但是我有一个问题需要进行排序。
我的代码是:
let oldCountry = countryList.countries.filter({c in c.countryName == profileCountryID })
let countryKey = oldCountry[0].countryID
let oldselectedCell:UITableViewCell = tableView.cellForRowAtIndexPath(NSIndexPath(index: countryKey))!
oldselectedCell.accessoryType = UITableViewCellAccessoryType.None
应用程序在此行崩溃:
let oldselectedCell:UITableViewCell = tableView.cellForRowAtIndexPath(NSIndexPath(index: countryKey))!
countryID位于一个结构中,允许我找到数组编号
struct Country {
var countryName : String
var countryID : Int
}
public struct CountryLibrary {
var countries: [Country]
}
let countryList =
CountryLibrary(
countries: [
Country(countryName: "Afghanistan", countryID: 0),
Country(countryName: "Albania", countryID: 1)
])
请帮助我帮我取下前一行的配件吗?
由于
答案 0 :(得分:0)
我发现你的NSIndexPath
声明是针对" one-node" indexPath。你需要的是一个TableView indexPath,声明为:
NSIndexPath(forRow: <#Int#>, inSection: <#Int#>)
所以你可能想尝试以下方法:
let oldselectedCell:UITableViewCell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: countryKey, inSection: 0))!