我在这个项目中使用Pars,特别是PFQueryTableViewController,它是PFTableViewCell的子类而不是UITableViewCell。
cell.textLabel
和cell.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
}
答案 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)
所以首先要缩小这些内容,如果你回来了解更多信息,那么它会让我更好地了解这个问题。