Мне нужно загрузить все имена списков воспроизведения в thirdviewcontroller
с табличным представлением, но это не работает.
Я пытаюсь показать табличное представление на третьем контроллере представления со всеми именами списков воспроизведения, которые были созданы (я создаю массив с элементами списка воспроизведения класса, созданного мной). В представлении загрузил func, я создал два плейлиста, но когда я пробую приложение, имена не отображаются в табличном представлении.
Я попытался переписать код, снова связать табличное представление и снова создать представление, но это не работает. Он также не показывает какой-либо сбой или неожиданно закрывает приложение.
Я новичок в Swift, поэтому я не знаю, буду ли я делать что-то более неправильное.
Вот проект (ветка разработки): дерево / разработка
//
// ThirdViewController.swift
// reproductor
//
// Created by Macosx on 24/4/19.
// Copyright © 2019 mamechapa. All rights reserved.
//
import UIKit
import AVFoundation
var favorites:[String] = []
var Playlists:[Playlist] = []
class ThirdViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var myTableView2: UITableView!
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
print(Playlists.count)
return Playlists.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
cell.textLabel?.text = Playlists[indexPath.row].name
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//
}
override func viewDidLoad() {
print("viewdidload")
super.viewDidLoad()
crear()
myTableView2.reloadData()
print(Playlists[1].name)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func crear(){
let pl1 = Playlist(name: "Prueba")
pl1?.addSong(song: songs[0])
Playlists.append(pl1!)
print(Playlists[0].name)
print(Playlists[0].songs[0])
let pl2 = Playlist(name: "Prueba2")
pl2?.addSong(song: songs[1])
Playlists.append(pl2!)
print(Playlists[1].name)
print(Playlists[1].songs[0])
}
}
3 ответа
Загрузил ваш код из указанного местоположения GitHub.
Это прекрасно работает на моем конце. Ниже изображение:
Кстати, хорошие песни !!!
Установите для Delegate и DataSource значение myTableView2. Поэтому добавьте ниже две строки в функции viewDidLoad, а затем перезагрузите myTableView2.
myTableView2.delegate = self
myTableView2.dataSource = self
Вам нужно установить UITableViews’s
делегата и источник данных равными себе.
myTableView2.delegate = self;
myTableView2.dataSource = self;
Сделайте это в viewDidLoad()
после super.viewDidLoad().
Похожие вопросы
Новые вопросы
ios
iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.