解析 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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章