I have a CoreData object that has an relationship that is NSSet
. I'm trying to use this as my dataSource, but getting the following
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
}
How do I use my NSSet in a tableView and I believe this would be unordered so potentially different each time, so how could I order this set?
You can use allObjects
to get an array from the set and sort the objects afterwards.
let orderedPlayers = (game.players!.allObjects as! [Player]).sort { $0.name < $1.name }
If you declare the set as native Swift type Set<Player>
– CoreData supports also Swift types – you can even omit the type cast and allObjects
:
let orderedPlayers = game.players!.sort { $0.name < $1.name }