我正在做一个社交功能,人们可以对图片发表评论。 唯一的动态单元格也是注释单元格。我正在使用Parse。
如何在每个评论单元格中获得不同的评论?
我尝试访问indexPath.row,但它给了我一个错误:'*** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]'
现在正在使用自定义NSIndexPath
,但我只是设法手动访问forRow
方法。结果是评论都是一样的。
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
}
}
答案 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
}