自定义表格单元格不显示任何内容 - Swift 2

时间:2015-11-08 08:34:46

标签: ios uitableview maps swift2

当我在应用上的注释上按下按钮时,我正在尝试创建自定义表格视图单元格。当我按下按钮时,出现一个空单元格,我无法找出它的错误。你有什么建议? 提前谢谢

类ViewController:UIViewController,  MKMapViewDelegate,CLLocationManagerDelegate,UIPopoverPresentationControllerDelegate,UITableViewDataSource,UITableViewDelegate {

struct MyData {
    var imagy:UIImage
    var title:String
    var details:String
}

var tableData: [MyData] = []

@IBOutlet weak var mapView: MKMapView!

let locationManager = CLLocationManager()

var mapItemData:MKMapItem!

let textCellIdentifier = "TextCell"


//TableViewDataSource functions
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return tableData.count
}

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




func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    // Create a new cell with the reuse identifier of our prototype cell
    // as our custom table cell class
    let cell = tableView.dequeueReusableCellWithIdentifier("TableViewCell") as! TableViewController
    // Set the first row text label to the firstRowLabel data in our current array item
    cell.imagy.image = tableData[indexPath.row].imagy
    // Set the second row text label to the secondRowLabel data in our current array item
    cell.title.text = tableData[indexPath.row].title
    // Set the second row text label to the secondRowLabel data in our current array item
    cell.details.text = tableData[indexPath.row].details
    // Return our new cell for display

    tableView.delegate = self
    tableView.dataSource = self

    return cell


}

 override func prepareForSegue(segue: UIStoryboardSegue,
    sender: AnyObject?){
        // Set any data to be shown on the table view here
}

var picture:[UIImage] = [
    UIImage(named: "pic1.jpg")!,
    //UIImage(named: "pic2.jpg")!,
    //UIImage(named: "pic3.jpg")!,
    //UIImage(named: "pic4.jpg")!,
   // UIImage(named: "pic5.jpg")!,
   // UIImage(named: "pic6.jpg")!,
    //UIImage(named: "pic7.jpg")!,
    UIImage(named: "pic8.jpg")!,    ]

override func viewDidLoad() {
    super.viewDidLoad()

这是TableView类:

class TableViewController:UITableViewCell {

@IBOutlet weak var imagy: UIImageView!


@IBOutlet weak var title: UILabel!


@IBOutlet weak var details: UILabel!

@IBOutlet weak var exit: UIButton!

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}

}

1 个答案:

答案 0 :(得分:3)

仅当您的cellForRowAtIndexPath已设置时,才会调用

tableView.dataSource。你说这个:

tableView.delegate = self
tableView.dataSource = self
cellForRowAtIndexPath中的

当然,你的表中没有任何内容。这就像你把钥匙放在房子里然后关上门。将它们放在viewDidLoad中。