从某行设置动态自定义单元格

时间:2015-02-11 10:38:01

标签: ios uitableview swift parse-platform nsindexpath

我正在做一个社交功能,人们可以对图片发表评论。 唯一的动态单元格也是注释单元格。我正在使用Parse。

如何在每个评论单元格中获得不同的评论? 我尝试访问indexPath.row,但它给了我一个错误:'*** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]'

现在正在使用自定义NSIndexPath,但我只是设法手动访问forRow方法。结果是评论都是一样的。

  • 第0行& 1正在运作。
  • 使用Storyboard。
  • userComments是正在加载注释的Mutable Array。
  • println(comments)给了我2个相同的对象。

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
    return userComments.count + 2
    }
    
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    if indexPath.row == 0 {
        let Postcell:PostTableViewCell = tableView.dequeueReusableCellWithIdentifier("imageCell") as PostTableViewCell
        ....
        return Postcell
    }
    if indexPath.row == 1 {
        let likeCell:likedTableViewCell = tableView.dequeueReusableCellWithIdentifier("likeCell") as likedTableViewCell
        ....
        return likeCell
    }else {
        let commentCell:commentTableViewCell = tableView.dequeueReusableCellWithIdentifier("commentCell") as commentTableViewCell
    
        let commentIndex:NSIndexPath = NSIndexPath(forRow: 0, inSection: 0)
        let comment:PFObject = userComments.objectAtIndex(commentIndex.row) as PFObject
    
        println(comment)
    
        // Comment Label
        commentCell.commentLabel.text = comment.objectForKey("content") as String!
        commentCell.userImageView.image = UIImage(named: "dummy")
    
        return commentCell
        }
    }
    

1 个答案:

答案 0 :(得分:2)

这种情况正在发生,因为在你的最后一点你总是要求解析第0行第0部分,你需要这样的东西:

else {
let commentCell:commentTableViewCell = tableView.dequeueReusableCellWithIdentifier("commentCell") as commentTableViewCell

//indexPath.row is the actual row of the table, 
//so you will have for table row 2 parse row 0, for 3 row 1 and so on
let commentIndex:NSIndexPath = NSIndexPath(forRow: indexPath.row-2, inSection: 0)
let comment:PFObject = userComments.objectAtIndex(commentIndex.row) as PFObject

println(comment)

// Comment Label
commentCell.commentLabel.text = comment.objectForKey("content") as String!
commentCell.userImageView.image = UIImage(named: "dummy")

return commentCell
}