0

テーブル ビュー セルで画像と行アクションを同時に取得するのに問題があります。いくつかの異なる順列を機能させることができます (行アクションは機能しますが、画像は行アクションがアクティブ化された後にのみ読み込まれ、画像は読み込まれますが行アクションは使用できません)、ページの読み込み時に画像を読み込み、行アクションにアクセスできるようにすることはできません。

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("childrenCell", forIndexPath: indexPath) as! ChildrenTableViewCell

    cell.textLabel?.text = childFirstName[indexPath.row]
    cell.detailTextLabel?.text = childLastName[indexPath.row]


    self.childImage[indexPath.row].getDataInBackgroundWithBlock { (imageData: NSData?, error: NSError?) -> Void in
        if error == nil {
            let image = UIImage(data: imageData!)
            cell.imageView?.image = image

        }
      self.tableView.reloadData()
    }

    return cell
}

上記のコードは、セルにデータを入力するために使用されます。動き回ると、self.tableView.reloadData()さまざまな組み合わせが得られます(ただし、必要なものではありません)。行アクションのコードは非常に標準的で、ユーザーに 2 つのオプションを提供します。

余談ですが、Parse in query (以下) からデータを取得したいのviewDidLoadですが、うまくいかないようです。おそらく答えは、クエリを に配置するのではなく、その問題を解決することcellForRowAtIndexPathです。

    let query = PFQuery(className:"children")
    query.whereKey("programID", equalTo: passedProgramID!)
    query.findObjectsInBackgroundWithBlock {
        (objects: [PFObject]?, error: NSError?) -> Void in
        if error == nil {
            print("Successfully retrieved \(objects!.count) children.")
            if let objects = objects {
                for object in objects {
                    self.childFirstName.append(object["childFirstName"] as! String)
                    self.childLastName.append(object["childLastName"] as! String)
                    self.childImage.append(object["childImage"] as! PFFile)  
                }
            }
        } else {
            print("Error: \(error!) \(error!.userInfo)")
        }
    }
        self.tableView.reloadData()
4

0 に答える 0