只有一个自定义tableviewcell正常工作

时间:2016-02-21 01:10:20

标签: swift uitableview

我创建了一个带有照片和两个标签的自定义tableviewcell。我从解析中查询了一些数据,并且单元格用于更新图像和标签以反映查询,但只有第一个视单元正常工作。图像和标签工作,但第二个视单元只能正确显示图像,uilabels不显示任何文本。我已多次查看代码,似乎无法弄清楚我做错了什么......

   override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCellWithIdentifier("mySpotCell")/*, forIndexPath:  indexPath)*/as? CustomTableViewCell

         //   cell = PFTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell")

        if let value = mySpots[indexPath.row]["location"] {
            let location = CLLocation(latitude: (value.latitude)!, longitude: (value.longitude)!)

            self.geoCoder.reverseGeocodeLocation(location, completionHandler: { (placemark, error) -> Void in
                if error != nil {
                    print("error: \(error!.localizedDescription)")
                }
                if let pm: CLPlacemark = placemark![indexPath.row] {
                   // var pm = placemark![indexPath.row] as CLPlacemark
                    //self.parkingSpotAddress.text = pm.thoroughfare
                   // self.navigationController?.navigationBar.topItem?.title = pm.thoroughfare
                    //cell!.textLabel?.text = "\(pm.subThoroughfare!) \(pm.thoroughfare!)"
                    cell?.subtitleLabel.text = "\(pm.subThoroughfare!) \(pm.thoroughfare!)"
                    cell?.titleLabel.text = pm.description
                    print(cell?.subtitleLabel.text)
                    print(cell?.titleLabel.text)
                }
            })
            if let parkingSpotImageFile: PFFile = mySpots[indexPath.row]["firstPhoto"] as! PFFile! {
                parkingSpotImageFile.getDataInBackgroundWithBlock({ (imageData, error) -> Void in
                    if error == nil {
                        cell?.spotImageView.image = UIImage(data: imageData!)
                       // self.imageIndicator.stopAnimating()
                       // self.imageIndicator.hidden = true
                    }
                })

            }

1 个答案:

答案 0 :(得分:0)

我认为您可以先查看func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int。你在里面返回的值是它将在tableview中显示和加载的行数。

我的cellForRowAtIndex是这样的,我认为你的也应该没问题。只需检查部分中的行数。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell:MenuTableViewCell = tbvMenu.dequeueReusableCellWithIdentifier("identifier") as! MenuTableViewCell
    let temp:String = MenuArr[indexPath.row] as! String
    cell.mainMenuTitle.text = temp
    return cell
}