Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 解析PFQueryTableViewConntroller未加载图像_Swift_Parse Platform_Pfquery_Pfquerytableviewcontrolle - Fatal编程技术网

Swift 解析PFQueryTableViewConntroller未加载图像

Swift 解析PFQueryTableViewConntroller未加载图像,swift,parse-platform,pfquery,pfquerytableviewcontrolle,Swift,Parse Platform,Pfquery,Pfquerytableviewcontrolle,我使用的是parse的PFQueryTableViewController,在检索日期时,除了UIImageView没有加载数据库中的文件外,所有这些似乎都可以正常工作。将加载文本和除文件外的所有其他内容。这是我的密码: import UIKit import Parse import ParseUI class PostsTableViewController: PFQueryTableViewController { override func queryForTable() -

我使用的是parse的PFQueryTableViewController,在检索日期时,除了UIImageView没有加载数据库中的文件外,所有这些似乎都可以正常工作。将加载文本和除文件外的所有其他内容。这是我的密码:

import UIKit
import Parse
import ParseUI

class PostsTableViewController: PFQueryTableViewController {

    override func queryForTable() -> PFQuery {

        let query = PFQuery(className: "Posts")
        query.cachePolicy = .CacheElseNetwork
        query.orderByDescending("createdAt")
        return query
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? {

        let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! PostsTableViewCell

        let posterUsernameText = object?.objectForKey("createdBy") as? String
        cell.posterUsername.setTitle("\(posterUsernameText)", forState: .Normal)

        cell.msgTextView.text = object?.objectForKey("text") as? String

        let imageFile = object?.objectForKey("image") as? PFFile
        cell.cellImageView.file = imageFile
        cell.imageView?.loadInBackground()

        return cell

    }

    override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

        if indexPath.row + 1 > self.objects?.count {

            return 44

        }

        let height = super.tableView(tableView, heightForRowAtIndexPath: indexPath)
        return height
    }

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

        if indexPath.row + 1 > self.objects?.count {

            self.loadNextPage()
            tableView.deselectRowAtIndexPath(indexPath, animated: true)

        } else {

            self.performSegueWithIdentifier("showDetail", sender: self)

        }
    }

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if segue.identifier == "showDetail" {



        }

    }

}

我认为您应该更改此代码:

let imageFile = object?.objectForKey("image") as? PFFile
cell.cellImageView.file = imageFile
cell.imageView?.loadInBackground()
致:


在对代码进行了一段时间的修改后,这似乎起到了作用。希望这有助于将来的其他人,以下是我所做的更改:

而不是:

let imageFile = object?.objectForKey("image") as? PFFile
cell.cellImageView.file = imageFile
cell.imageView?.loadInBackground()
我应该是:

    let imageFile = object?.objectForKey("image") as? PFFile
    cell.cellImageView.file = imageFile
    cell.cellImageView?.loadInBackground()

我尝试了这段代码,但似乎没有任何变化,控制台中也没有打印错误。
    let imageFile = object?.objectForKey("image") as? PFFile
    cell.cellImageView.file = imageFile
    cell.cellImageView?.loadInBackground()