2016-10-09 4 views
1

У меня есть объект CoreData, который имеет отношение NSSet. Я пытаюсь использовать это как мой DataSource, но получаю следующееNSSet не имеет подписчиков

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 
} 

Как я могу использовать NSSet в Tableview, и я считаю, что это было бы неупорядоченным так потенциально другой каждый раз, так как я мог бы заказать этот задавать?

+0

Если вы хотите навести порядок в наборе, вы должны загрузить элементы в массив. –

+0

@TimVermeulen Да, я начал смотреть на это, это второе место в моем списке. Думаю, я мог бы заказать объекты CoreData по имени в массив? – Jonnny

+0

Например, да. –

ответ

4

Вы можете использовать allObjects, чтобы получить массив из набора и сортировки объектов после этого.

let orderedPlayers = (game.players!.allObjects as! [Player]).sort { $0.name < $1.name } 
+0

Это намного круче, чем моя попытка :) – Jonnny

0

Это, как я это сделал:

for player in game.players! { 
     orderedPlayers.append(player as! Player) 
    } 
    orderedPlayers.sortInPlace({ $0.name < $1.name }) 
Смежные вопросы