Xcode 无法从xib将iAction连接到表视图

Xcode 无法从xib将iAction连接到表视图,xcode,swift,uitableview,xib,ibaction,Xcode,Swift,Uitableview,Xib,Ibaction,我正在swift中为我的视图控制器使用这个开源框架 我将xib用于tableview单元格和tableview,如演示项目中所示 但是,当我将按钮从tableview单元格连接到tableview控制器时,Xcode不允许我这样做。我正在处理NotificationTableViewCell和NotificationTableVC文件 我已经正确地设置了项目,可以让细胞以及项目本身启动和运行。但是,如果我无法连接按钮,我就无法添加所需的功能 当我从存储库中克隆一些时,演示项目也有这种行为。我仔细

我正在swift中为我的视图控制器使用这个开源框架

我将xib用于tableview单元格和tableview,如演示项目中所示

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

我已经正确地设置了项目,可以让细胞以及项目本身启动和运行。但是,如果我无法连接按钮,我就无法添加所需的功能

当我从存储库中克隆一些时,演示项目也有这种行为。我仔细查看了这些问题,似乎没有人提到任何关于将IBActions与视图连接的内容,所以我提到了,但我认为我遗漏了一些东西

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

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


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

将IB中的元素连接到Cell类(.h/.m),如果没有,则创建一个,如NotificationTableViewCell.m,然后从表视图控制器类中的委托方法访问连接的元素


希望这有帮助。

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

将IB中的元素连接到Cell类(.h/.m),如果没有,则创建一个,如NotificationTableViewCell.m,然后从表视图控制器类中的委托方法访问连接的元素


希望这有帮助。

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

将IB中的元素连接到Cell类(.h/.m),如果没有,则创建一个,如NotificationTableViewCell.m,然后从表视图控制器类中的委托方法访问连接的元素


希望这有帮助。

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

将IB中的元素连接到Cell类(.h/.m),如果没有,则创建一个,如NotificationTableViewCell.m,然后从表视图控制器类中的委托方法访问连接的元素


希望这有帮助。

好的,我已经找到了一个可行的解决方案。多亏了古尔特吉·辛格

代码如下:

1) 我在
cellForRowIndexPath

cell.mybutton.addTarget(self, action: "declineRequest:", forControlEvents: .TouchUpInside)
2) 现在,如果我编写一个名为
declineRequest

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

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

好的,所以我想出了一个有效的解决方案。多亏了古尔特吉·辛格

代码如下:

1) 我在
cellForRowIndexPath

cell.mybutton.addTarget(self, action: "declineRequest:", forControlEvents: .TouchUpInside)
2) 现在,如果我编写一个名为
declineRequest

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

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

好的,所以我想出了一个有效的解决方案。多亏了古尔特吉·辛格

代码如下:

1) 我在
cellForRowIndexPath

cell.mybutton.addTarget(self, action: "declineRequest:", forControlEvents: .TouchUpInside)
2) 现在,如果我编写一个名为
declineRequest

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

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

好的,所以我想出了一个有效的解决方案。多亏了古尔特吉·辛格

代码如下:

1) 我在
cellForRowIndexPath

cell.mybutton.addTarget(self, action: "declineRequest:", forControlEvents: .TouchUpInside)
2) 现在,如果我编写一个名为
declineRequest

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

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


Gurtej Singh,看起来你知道你在说什么了,你能详细说明一下步骤吗?也许因为我还没有做过这个程序。只需一个.swift文件就可以完成吗?一旦我创建了它们,tableview控制器如何访问它?就像您提到的“然后从表视图控制器类中的委托方法访问连接的元素”一样。当然,按照以下步骤操作,我在Obj-C中工作,但我确信类似的步骤也适用于Swift:1。创建一个名为NotificationTableViewCell的新类,并给它一个基类UITableViewCell。2.进入你的cell.xib,在右边的面板(第三个选项卡)给它一个NotificationTableViewCell类。3.按住CTRL键将元素拖动到新的.m/.h文件中,两个文件都打开,称之为closeButton。4.访问创建单元格的表视图控制器中的元素,方法应为cellforrowatinexpath,例如cell.closeButton。如果有帮助,请告诉我。谢谢。Gurtej,如果你看屏幕截图,我有一个NotificationTableViewCell类,我也可以连接iActions和Outlet,你是不是建议再做一个?抱歉,你是对的,我也看到了一个.swift类。连接到那个。但请确保您执行第2步。是的,我已经在swift中有了,如果您查看单元格下的第一个屏幕截图,我可以连接m