Ios 在单元格上单击显示特定登录id的图像

Ios 在单元格上单击显示特定登录id的图像,ios,swift3,swift4,Ios,Swift3,Swift4,在比较包含用户详细信息的表的ID后,我需要在我的下一个视图控制器中打印图像。在比较ID后,我成功获取了名称,但相应的图像无法获取 如果用户发布了任何内容,那么我将获得特定发布作业的名称,现在我想要的是来自各个用户的图像(用户在注册时上传的图像)(标识发布作业是通过哪个用户发布的) 下面是我的代码: func getJOBData() { let jobUrl = URL(string: "http://172.16.1.22/Get-Job-API/get-jobs/

在比较包含用户详细信息的表的ID后,我需要在我的下一个视图控制器中打印图像。在比较ID后,我成功获取了名称,但相应的图像无法获取 如果用户发布了任何内容,那么我将获得特定发布作业的名称,现在我想要的是来自各个用户的图像(用户在注册时上传的图像)(标识发布作业是通过哪个用户发布的)

下面是我的代码:

func getJOBData()
    {
        let jobUrl = URL(string: "http://172.16.1.22/Get-Job-API/get-jobs/")
        URLSession.shared.dataTask(with: jobUrl!) { (data, response, error) in

            do
            {
                if error == nil
                {
                    self.jobArray = try JSONDecoder().decode([JobData].self, from: data!)

                    for mainJobArr in self.jobArray
                    {
                        DispatchQueue.main.async {
                            self.jobPostTblView.reloadData()
                        }
                    }
                    print("Job Data****\(self.jobArray)")
                }
            }

            catch
            {
                //                print("my data=\(self.mainCellData)")
                print("Error in get JSON Data\(error)")
            }
            }.resume()
    }
行数部分

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

            return jobFilteredArray.count
        }
cellForRowAtIndexPath方法

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = Bundle.main.loadNibNamed("JobTableViewCell", owner: self, options: nil)?.first as! JobTableViewCell

            let data = jobArray[indexPath.row]
            cell.jobTitle.text = data.job_desig
            cell.expDetails.text = data.job_exp_to
            cell.locationDetails.text = data.job_location
            cell.dateDetails.text = data.job_skills
            cell.companyName.text = companyArray.first { $0.company_id == data.company_id }?.company_name

return cell

        }
didSelectRowAtIndexPath

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){
                let selectedCell:UITableViewCell = tableView.cellForRow(at: indexPath)!
                selectedCell.contentView.backgroundColor = UIColor.white

                let rows = indexPath.row
                print("Rows=\(rows)")
                let jobDetail = WorkerJobDetailsViewController(nibName: "WorkerJobDetailsViewController", bundle: nil)

                let jdata = jobFilteredArray[indexPath.row]
                jobDetail.gender = jobArray[indexPath.row].job_emp_gender
                jobDetail.location = jobArray[indexPath.row].job_location
                jobDetail.companyName = (companyArray.first { $0.company_id == jdata.company_id }?.company_name)!

                jobDetail.profile = jobImgPath
                jobImgPath = (companyArray.first { $0.company_id == jdata.company_id }?.company_logo)!

                jobDetail.skills = jobArray[indexPath.row].job_skills
                jobDetail.descriptionValue = jobArray[indexPath.row].job_desc
                jobDetail.jobDesignation = jobArray[indexPath.row].job_desig

                self.present(jobDetail, animated: true, completion: nil)
            }
任何人都可以帮我为发布作业的各个用户获取图像吗???

只需使用一个pod-like,并获取带有您正在映射的url的链接。您将面临的问题是,该链接是本地ip,无法从远程网络工作,但如果将来在json上更改链接,您就可以了

没有吊舱,你可以做到这一点

    func getDataFromUrl(url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
    URLSession.shared.dataTask(with: url) { data, response, error in
        completion(data, response, error)
    }.resume()
    }

    func downloadImage(url: URL) {
    print("Download Started")
    getDataFromUrl(url: url) { data, response, error in
        guard let data = data, error == nil else { return }
        print(response?.suggestedFilename ?? url.lastPathComponent)
        print("Download Finished")
        DispatchQueue.main.async() {
            self.imageView.image = UIImage(data: data)
        }
      }
   }

@Anbu.karthik是的,谢谢你指出我的错误,你能帮我改进一下吗?我必须在同一个文件中编写这两个函数并在viewDidLoad()中调用它们吗?你必须编写这两个函数,并且在你想加载图片时调用它们,如果你想在开始时加载它的话,它将异步运行,因此可能会延迟获取pic,但它会,如果您想通知用户正在下载图片,您可以显示活动指示器,但从现在开始,您需要做的就是在需要时调用该函数我应该在这里写什么?downloadImage(url:(?))我已经根据我的imageView对其进行了更改,如self.profileInage.image=UIImage(数据:数据)现在我对重写func viewDidLoad()感到困惑{super.viewDidLoad(downloadImage(url:)在这个方法中我应该作为url传递什么??