Невозможно подписать значение типа [MPMediaItem] #2

Я знаю, что вопрос был задан точно так же, как здесь не может подписать значение введите [MPMediaItem] , но у меня не работает его решение.

cell.textLabel!.text = allSongs![indexPath.row]

это то, что я пытаюсь.

allSongs объявляется так var allSongs = [MPMediaItem]?()


person J.Vongehr    schedule 03.03.2016    source источник
comment
Какую ошибку вы получаете? Убедитесь, что строка меньше, чем счетчик вашего массива.   -  person user965972    schedule 03.03.2016
comment
Моя ошибка точно такая же, как в заголовке. Невозможно подписать значение типа [MPMediaItem]. Строка - allSongs.count.   -  person J.Vongehr    schedule 03.03.2016
comment
Вы присваиваете MPMediaItem свойству, которому требуется String   -  person dan    schedule 03.03.2016
comment
Как преобразовать MPMediaItem в строку? @дан   -  person J.Vongehr    schedule 03.03.2016
comment
Зависит от того, что вы хотите показать на этикетке. MPMediaItem имеет много строковых свойств: title, albumTitle, artist и т. д.   -  person dan    schedule 03.03.2016
comment
Я хочу показать титул @dan   -  person J.Vongehr    schedule 03.03.2016
comment
Затем сделайте cell.textLabel!.text = allSongs![indexPath.row].title   -  person dan    schedule 03.03.2016
comment
это сработало! @dan, но теперь я не могу фильтровать... ошибка Cannot invoke 'filter' with an argument list of type '((_) -> _)'   -  person J.Vongehr    schedule 03.03.2016


Ответы (1)


Вероятно, вы хотите сделать что-то, связанное с этим:

 cell.textLabel!.text = allSongs![indexPath.row].valueForProperty(MPMediaItemPropertyTitle) as? String
person Alain T.    schedule 03.03.2016