NSSet没有下标成员

Jon*_*nny 2 uitableview nsset swift

我有一个CoreData对象,其关系是NSSet.我正在尝试使用它作为我的dataSource,但得到以下内容

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = playerTableView.dequeueReusableCellWithIdentifier("Cell")! as UITableViewCell
    cell.textLabel?.text = self.game.players[indexPath.row]
    return cell
}
Run Code Online (Sandbox Code Playgroud)

我如何在tableView中使用我的NSSet,我相信这将是无序的,所以每次都有可能不同,所以我怎么能订购这个集合?

vad*_*ian 9

您可以使用allObjects从集合中获取数组并在之后对对象进行排序.

let orderedPlayers = (game.players!.allObjects as! [Player]).sort { $0.name < $1.name }
Run Code Online (Sandbox Code Playgroud)

如果你将set声明为本机Swift类型Set<Player>- CoreData也支持Swift类型 - 你甚至可以省略类型转换和allObjects:

let orderedPlayers = game.players!.sort { $0.name < $1.name }
Run Code Online (Sandbox Code Playgroud)