簡體   English   中英

將解析圖像設置為tableView單元格

[英]Setting parse images to a tableView Cell

我正在嘗試將圖像從“解析”保存到一個名為“圖像存儲”的變量,然后可以將其設置為“表格視圖”單元格。 目前,我只是將解析后的圖像保存到PFImageView中。 但是,當我嘗試將它們設置為“表視圖”單元格時,出現錯誤:無法將類型為“ PFImageView”的值分配為類型為“ UIImage”? 真的感謝任何幫助。

這是我的代碼:

import UIKit
import Parse
import Bolts
import ParseUI

class YourEvents: UIViewController, UITableViewDataSource, UITableViewDelegate {

    @IBOutlet weak var tableView: UITableView!
    var currentuser = PFUser.currentUser()?.username


    //array
    var testArray = [String]()

    var testdecr = [String]()
    var image = UIImage()

     var imagestored = PFImageView()

    override func viewDidLoad() {
        super.viewDidLoad()
        var query = PFQuery(className:"Companies")
         let pUserName = PFUser.currentUser()?["username"] as? String

        query.whereKey("createdby", equalTo:"\(pUserName)")
        // let runkey = query.orderByAscending("companyname")
        query.findObjectsInBackgroundWithBlock{
            (objects: [PFObject]?, error: NSError?) -> Void in

            if error == nil {
                //do something with the found objects
                if let objects = objects as [PFObject]! {
                    for object in objects {

                        let load = object.objectForKey("companyname") as! String
                        self.testArray .append(load)

                        print(self.testArray)

                        let load2 = object.objectForKey("companydescription") as! String
                        self.testdecr.append(load2)

                        print(self.testdecr)

                         if let userImageFile = object["imagefile"] as? PFFile {
                         userImageFile.getDataInBackgroundWithBlock {
                            (imageData: NSData?, error: NSError?) -> Void in
                            if error == nil {
                                if let imageData = imageData {
                                     self.image = UIImage(data:imageData)!
                                }
                            }
                        }

                    }


                        }

                }
            } else {
                //log details of failure
                print("Error: \(error!) \(error?.userInfo) ")

            }


        }

        // reload  UIViewController and UITabkeView
        sleep(3)

        do_table_refresh()
    }

    func do_table_refresh () {
        dispatch_async(dispatch_get_main_queue(),  {
            self.tableView.reloadData()
            return
        })
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }



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

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return testArray.count
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("yourstartups", forIndexPath: indexPath) as! YourStartupsCell
        cell.lbTitle!.text = self.testArray[indexPath.row]
        cell.lbDescription!.text = self.testdecr[indexPath.row]
        cell.logo!.image = self.imagestored



        return cell
    }

}

錯誤

在您的代碼中,您永遠不會初始化圖像存儲(PFImageView),而僅初始化圖像(UIImage)。 嘗試更改為

cell.logo!.image = self.image

我不知道PFImageView是否有

PFImageView.image

實例,而不是UIImage()類。

另外,您應該具有以下內容:

 if let userImageFile = object["imagefile"] as? PFFile {
                     userImageFile.getDataInBackgroundWithBlock {
                        (imageData: NSData?, error: NSError?) -> Void in
                        if error == nil {
                            if let imageData = imageData {
                                 self.image = UIImage(data:imageData)!

                                 var img = UIImage(data:imageData)
                                 image.append(img)
                                 self.tableView.reloadData()
                            }
                        }
                    }

嘗試將圖像設置為UIImage並在下一行調用do_table_refresh()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM