使用自定义索引路径

时间:2015-07-05 00:46:02

标签: ios swift uitableview didselectrowatindexpath

在我的项目中遇到问题。

我有一个包含国家列表的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)

])

请帮助我帮我取下前一行的配件吗?

由于

1 个答案:

答案 0 :(得分:0)

我发现你的NSIndexPath声明是针对" one-node" indexPath。你需要的是一个TableView indexPath,声明为:

NSIndexPath(forRow: <#Int#>, inSection: <#Int#>)

所以你可能想尝试以下方法:

let oldselectedCell:UITableViewCell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: countryKey, inSection: 0))!