Я пытаюсь получить значение из быстрого словаря для отображения в виде текстовых ячеек.Я получаю сообщение об ошибке:
Тип «Любой» не имеет подписных элементов
cell.audioLabel.text = audiofiles["filetitle"] <-line producing error
Я полагаю, что я мог установить переменные неправильно, значение передается с использованиемпереход от другого табличного представления с использованием didSelectRowAt. * 1008 *
var audios = Array<Any>() <- gets from another controller
Это мой текущий код viewcontroller:
import UIKit
class DetailViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var audioTable: UITableView!
@IBOutlet weak var descText: UITextView!
@IBOutlet weak var clickButton: UIButton!
var practitle = String()
var desc = String()
var hasAudio = Int()
var audios = Array<Any>()
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.title = practitle
descText.text = desc
if hasAudio != 0 {
clickButton.isHidden = false
}
print(audios)
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return audios.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "audiocell", for: indexPath) as! DetailViewCell
let audiofiles = audios[indexPath.row]
cell.audioLabel.text = audiofiles["filetitle"]
return cell
}
Когда я использую
print(audios)
Результат, который я получаюis:
[demoApp.Audiofile (id: 1, filetitle: «Пример файла один», имя файла: «reath5mins », формат файла:« mp3 »), demoApp.Audiofile (id: 2, filetitle): «Пример файла два», имя файла: «дыхание10 минут», формат файла: «mp3»), demoApp.Audiofile (id: 3, заголовок файла: «Пример файла три», имя файла: «дыхание 20 минут», формат файла: «mp3»)]
Как я могу использовать заголовок файла как текст метки для моей ячейки?
Цель состоит в том, чтобы отобразить заголовок и открыть другое представление при щелчке ячейки и позволить пользователю нажать кнопкуна новом экране и воспроизведите файл mp3.