cell.imageView返回nil

时间:2015-08-25 19:04:49

标签: ios swift parse-platform

我在这个项目中使用Pars,特别是PFQueryTableViewController,它是PFTableViewCell的子类而不是UITableViewCell。

cell.textLabelcell.detailTextLabel设置没问题,但cell.imageView返回nil。为什么呢?

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? {
    let cellIdentifier = "Cell"
    let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! PFTableViewCell
    if let podcast = object {
        if let name = podcast["name"] as? String {
            cell.textLabel!.text = name
      }

        if let artist = podcast["artist"] as? String{
            cell.detailTextLabel!.text = artist
        }

        if let artwork = podcast["artwork"] as? PFFile {
            print(cell.imageView)
//                cell.imageView!.file = artwork
//                cell.imageView?.loadInBackground()
             print("we have the artwork \(artwork)")
        } else {
            cell.imageView?.image = UIImage(named: "place")
            print("using placeholder image")
        }

    }

    return cell
}

1 个答案:

答案 0 :(得分:0)

首先,你的意思是imageView是零还是你的意思是imageView.image是零?如果imageView为nil,则表示整个imageView未实例化。你是如何创建这个imageView的?您使用的是故事板还是笔尖,还是以编程方式创建imageView?如果您以编程方式执行此操作,请确保在尝试设置其.image属性之前在UIImageView上调用init方法。

如果问题是UIImageView上的.image属性为nil,那么您可能已将图像错误地添加到Images.xcassets文件夹中,或者您略微拼错了图像的名称。

如果问题是你无法看到图像,或许如果你以编程方式创建了UIImageView,那么你还没有将它添加到你的viewController的视图heirarchy中。这可以通过

完成
 self.view.addSubview(imageView)

所以首先要缩小这些内容,如果你回来了解更多信息,那么它会让我更好地了解这个问题。