2017-03-22 24 views
2

我不知道会发生什么,但我无法通过界面构建​​器或以编程方式设置tableview的委托。XCode:我无法设置tableView的代理(IB或编程)

Can't set the delegate

在Interface Builder,委托链接的的tableView走了,和编程,即使我设置tableview.delegate = self,方法(didSelectRowAtIndexPath)不叫。

这是第一次发生在我身上。它只发生在我目前的项目中。在一个新项目中,没有这个问题。 有谁知道为什么会发生这种情况?

谢谢

+0

你试过这个吗? http://stackoverflow.com/a/2261626/6414904,清理你的构建和重新启动xcode将是一个好的开始。 – Hapeki

回答

0

尝试连接插座的实现代码如下,然后添加尝试在您的视图控制器类以下内容:

self.yourTableView.delegate = self 
self.yourTableView.dataSource = self 

请确认您已加入UITableViewDataSource并用的UITableViewDelegate视图控制器定义。与此类似,

class YourViewController : UIViewController, UITableViewDataSource, UITableViewDelegate { 

} 
+0

阅读这个问题,他知道如何连接一个tableView,它看起来像一个xCode错误 – darksider

0

在故事板,去你的浏览器窗口,请确保您的实用程序窗口打开,看着连接督察(最右边的图标) 现在点击在视图控制器的窗口标题和它的视图控制器图标我会告诉你所有的连接。 现在点击你的tableView来选择它,并从桌面查看cntl拖动到标题中的VC图标。代表应该取消选中,所以选择它。我认为你需要连接Delegate和DataSource。应该恢复针对每种正常服务的斑点。

+0

还有一个想法,检查你的tableview方法签名。如果cellForRowAtIndexPath被调用但didSelectRowAtIndexPath不是。创建一个新的didSelectRowAtIndexPath并确保您使用的匹配。确保添加它时自动完成。 – Cliff