解析 iOS SDK:PFTableViewCell 内的 UIButton segue [关闭]

Posted

技术标签:

【中文标题】解析 iOS SDK:PFTableViewCell 内的 UIButton segue [关闭]【英文标题】:Parse iOS SDK: UIButton segue inside of PFTableViewCell [closed] 【发布时间】:2014-07-29 23:53:07 【问题描述】:

场景 = 我有一个 PFQueryTableViewController 返回用户的帖子对象。当用户在帖子的每一行中单击标题为“评论”的按钮时,用户将转到另一个可以发表评论的屏幕。

注意事项 = 在表返回的每个帖子对象中都有一个名为“postID”的键。我必须从行中“提取”这个 ID 以在下一个屏幕中查询。

问题 = 我无法弄清楚如何获取每个帖子的 postID。

如果这是一个简单的行点击,我会这样做

PFObject *object = [self.objects objectAtIndexPath:indexPath.row];

然后只需访问“postID”键的值并将其传递给 prepareForSegue。呸呸呸……

问题 = 这不是 didSelectRowAtIndexPath 之类的事情(或者至少我不这么认为)。这是一个按钮单击,on 是索引路径上的一个单元格。那我在这里做什么呢?

【问题讨论】:

您可以为每个按钮添加标签,例如。 button.tag = indexPath.row 【参考方案1】:

您可以为每个按钮添加一个标签,以对应其行,例如:

button.tag = indexPath.row;

然后给那个按钮一个动作链接到一个将按钮作为参数的方法,例如:

[button addTarget:self action:@selector(goToCommentView:) forControlEvents:UIControlEventTouchUpInside];

这样当一个按钮被选中并调用该方法时,你可以使用该标签获取对象,例如:

- (void)goToCommentView:(UIButton*)sender 

    PFObject *object = [self.objects objectAtIndexPath:sender.tag];

    ...

【讨论】:

我什至还没有尝试过,但这很有意义,无论如何我都会将其标记为已回答。不错! @TomTesticool 好吧,如果您对实际实现有任何疑问,请随时在我的帖子下方再次发表评论。 :) 好吧,看来我捏造了一些东西。 *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[DashboardViewController commentButtonWasPushed:]:无法识别的选择器发送到实例 0x16e58dd0” 我想知道是不是我把东西放错了地方。让我问你这是不是正确的想法。 1) button.tag = indexPath.row 应该放在 VC 的 cellForRowAtIndexPath 还是 didSelectRowAtIndexPath 中? 2) 你创建的 goToCommentView: 方法(我的叫做 commentButtonWasPushed:) 应该放在 tableView 的 VC 或单元格的 PFTableViewCell 类中吗? @TomTesticool 您应该在 cellForRowAtIndexPath 中设置按钮标签。并且commentButtonWasPushed 方法应该在tableview 的VC 中。从错误来看,您的 commentButtonWasPushed 调用或方法似乎有问题......因为调用的方法不等同于方法本身。方法调用用什么代码,方法用什么代码?

以上是关于解析 iOS SDK:PFTableViewCell 内的 UIButton segue [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

解析 iOS SDK:如何持久登录?

解析 iOS SDK PFLoginViewController Facebook Segue

对象没有方法“状态”iOS SDK 和解析云代码

解析 iOS SDK + 云代码:如何更新用户

解析 iOS SDK:无法从数组中获取对象

解析 iOS SDK:PFTableViewCell 内的 UIButton segue [关闭]