Swift TableView в UIView не отображает данные

Я хочу создать страницу, которая должна иметь карту вверху и 5 строк tableview внизу. Поэтому я создал UIViewController, поместил мой вид карты, а затем поставил TableView. Я создал myViewController.swift и myTableViewCell.Свифт!--2-->

но когда я пытаюсь на симуляторе нет данных, отображаемых на tableview. Только пустые камеры.Я не получил никакой ошибки

вот мой код. Спасибо

import UIKit
import MapKit

class myViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    @IBOutlet weak var mapView: MKMapView!

    var labels = ["some arrays"]

    var images = ["some image names in an array"]

    @IBOutlet weak var tableView: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return labels.count
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("mySegue", forIndexPath: indexPath) as! myTableViewCell

        cell.myCellLabel.text = labels[indexPath.row]
        cell.myCellImage.image = UIImage(named: images[indexPath.row])

        return cell
    }

}

4 ответов


попробуйте это:

override func viewDidLoad() {
    super.viewDidLoad()

    // Add this
    tableView.delegate = self
    tableView.dataSource = self
}

вы должны сделать один из двух способов:

tableView.delegate = self
tableView.dataSource = self

в viewDidLoad () вашего viewController ИЛИ - выберите tableView и перетаскивание, нажав control для viewController, сначала выберите источник данных и снова сделать это Выберите делегат.


назначьте делегат и источник данных UITableView / UICollectionView через раскадровку, чтобы уменьшить код следующим образом:

щелкните правой кнопкой мыши на вашем UITableView, затем нажмите на круглый круг для делегата / источника данных и перейдите к viewcontroller. Для ясности см. изображение ниже.

Click here to view screenshot


установите источник данных tableview.

tableview.источник данных = self метод TableView.делегат = self