无法将 IBAction 连接到来自 xib 的 table 视图

Cannot connect IBAction to table view from xib

我在 swift https://github.com/uacaps/PageMenu 中将这个开源框架用于我的视图控制器。

我将 xib 用于 table 视图单元格和 table 视图,如演示项目中所示。

但是,当我将我的按钮从 table 视图单元连接到 table 视图控制器时 Xcode 不允许我这样做。我正在处理 NotificationTableViewCell 和 NotificationTableVC 文件。

我已经正确设置了项目,可以启动单元和 运行 以及项目本身。但是,如果我无法获得连接按钮,我将无法添加所需的功能。

当我从存储库中克隆一些时,演示项目也有这种行为。我查看了这些问题,似乎没有人提到任何关于将 IBAction 连接到视图的事情,所以我做了,但我认为我遗漏了什么。

我已附上屏幕截图以帮助您查看我的问题。我还需要访问 cellForRowIndexPath。

我的 xib 被赋予 class 我的 table 视图单元格,它仍然不允许我与 table 视图控制器交互。

我认为您无法通过 IB 将 table 视图单元格元素连接到 table 视图控制器 class(据我所知,它不是这样做也是正确的,因为会有多个单元格和可重用性)。

将 IB 中的元素连接到您的 Cell class (.h/.m),如果没有,请创建一个,例如 NotificationTableViewCell.m,然后访问连接的元素来自 Table 视图控制器 class 中的委托方法。

希望对您有所帮助。

好的,所以我找到了可行的解决方案。感谢 Gurtej Singh。

代码如下:

1) 我在 cellForRowIndexPath

中添加了这一行
cell.mybutton.addTarget(self, action: "declineRequest:", forControlEvents: .TouchUpInside)

2) 现在,如果我编写一个名为 declineRequest

的函数,我就可以访问该按钮

因为我想根据单元格的数据删除单元格,所以我使用了这个函数并添加了 Parse 查询逻辑。

 func declineRequest(sender: UIButton) {
    var cell: NotificationsTableViewCell = sender.superview!.superview as! NotificationsTableViewCell
     .... }