У меня есть приложение с tableView
. Я решил добавить больше экранов с другими tableViews
, поэтому я добавил tabBarController
программно. Теперь я получаю найденную ошибку nil в следующих строках:
tableView.delegate = self
tableView.dataSource = self
Если я удаляю их, tableView
не загружается. Вы знаете, что я могу делать не так?
Я добавил tabBarController
на основной раскадровке и связал его с файлом swift, но он также не работает.
class SecondVC: UIViewController,UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
var SoundsClasss = [SoundsClass]()
override func viewDidLoad() {
super.viewDidLoad()
let p1 = SoundsClass(imageURL: "sound 01", audioURL: "01", videoTitle: "1", duration: 100)
let p2 = SoundsClass(imageURL: "sound 01", audioURL: "02", videoTitle: "2", duration: 100)
SoundsClasss.append(p1)
SoundsClasss.append(p2)
tableView.delegate = self
tableView.dataSource = self
}
Код для TabBarController
. Должен ли я что-то изменить здесь, чтобы указать, что представление является tableView
?
class MainTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
tabBar.barTintColor = UIColor.white
setupTabBar()
}
func setupTabBar(){
let FirstController = UINavigationController(rootViewController: MainVC())
let SecondController = UINavigationController(rootViewController: SecondVC())
let ThirdController = UINavigationController(rootViewController: ThirdVC())
viewControllers = [FirstController, SecondController,ThirdController]
guard let items = tabBar.items else { return }
for item in items {
item.imageInsets = UIEdgeInsets(top: 4, left: 0, bottom: -4, right: 0)
}
}
}