我理论上讲故事板中的UITableView对象应该有它的委托集,但它没有。我将故事板中的UITableView对象拖入标题,并将其作为IBOutlet属性添加并合成它。不过,我检查了并且只有数据源方法被称为。所以,我实施主代表协议的方式似乎有些问题。正如你在下面的图片中看到的,我似乎正在做一切标准?但代表并没有被设定!思考?iOS - 未设置UITableView委托?
回答
试着改变你的numberOfRows方法(更好的调试)。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
int rows = [allParties count];
NSLog(@"number of rows: %d", rows);
return rows;
}
如果您返回0,则不起作用。
同样在将来,请粘贴您的代码而不是拍摄屏幕截图。
您已经在numberOfRowsInSection:
中写入了一个日志,但不是cellForRowAtIndexPath:
中的日志,该日志显示没有为您的表创建单元。您只需返回0作为表格的行数。检查一下。
当您选择一行时,将调用委托方法didSelectRowAtIndexPath:
,但为此,必须先在表中创建一行。
我认为你的解决方案不工作的原因是因为你使用的是一个UiViewController而不是UiTableViewController的TableView。我曾经有过这个同样的问题。这是我做的。创建一个IBOutlet头文件并将其合成到实现文件中(我相信你已经完成了这一步)。回到故事板。然后将连接器拖动到视图控制器(带白色框的黄色圆圈)。选择数据源。重复此步骤,而不是选择数据源选择代表。在右侧的菜单中,如果设置正确,您应该能够看到您的插座。这应该可以解决您的委托问题。
见截图从下面我举的例子:
所以我应该创建一个UITableViewController除了UITableView?任何想法为什么当我无法连接表视图与视图控制器,如你所描述的? –
@JakeByman你现在不需要UITableViewController。你应该能够按照描述连接你的UIViewController。 – Weston
@JakeByman,一旦你'ctr + click'并设置你的数据源和委托如上所述,我会从你的实现文件中删除'self.mainTableView.delegate = self;'和'self.mainTableView.dataSource = self;'。 – Weston
- 1. 委托未设置
- 2. UITableView设置独立的委托对象?
- 3. 如何从UITableView设置scrollView委托?
- 4. UITableView委托
- 5. UITableView委托方法
- 6. IOS设置自定义委托
- 7. 设置委托给自己的委托?
- 8. UITableView委托触发NSURLConnection委托
- 9. 设置UITableViewController委托?
- 10. UITableView委托方法
- 11. 如何设置tableview委托
- 12. 自动设置kerberos委托
- 13. 如何设置委托
- 14. Rails委托设置值
- 15. 从appdelegate设置UIViewController委托
- 16. 在awakeFromNib中设置委托
- 17. uitableview委托方法不叫
- 18. UITableView的执行委托时
- 19. 问题的UITableView的委托
- 20. 在自定义UITableView中设置委托和数据源
- 21. 设置UICollectionViewCell中的UITableView集的委托和数据源
- 22. 设置UITableView委托和数据源的最佳实践
- 23. 以编程方式设置UITableView数据源和委托
- 24. ios:声明失败UITableView dataSource未设置
- 25. 委托方法未被触发 - iOS
- 26. 委托函数未被调用iOS Swift
- 27. 委托模式ios
- 28. IOS委托不火
- 29. pre-iOS 4设备委托协议
- 30. 设置委托对象中的委托方法没有响应
你能在这里粘贴相关代码?您的代码很难在打印屏幕上阅读。 – Raptor
您确定在表格视图中可用的默认原型单元格(默认单元格)吗? – Ganapathy
@Ganapathy我该如何检查? –