• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 同一个 Controller 中的两个 UITableView

[复制链接]
菜鸟教程小白 发表于 2022-12-13 13:24:36 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我认为这是一个错误。

IOS 7.0,XCode 5。

我的 Storyboard中有一个 TableView Controller 。我有一个带有“3”个静态单元格的 TableView。然后我添加了一个“ View ”,并在其中添加了一个带有动态原型(prototype)的 TableView。

当我尝试在动态表中添加超过“3”个单元格时,应用程序崩溃。

2016-01-10 08:18:21.358 Know[1381:a0b] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 3 beyond bounds [0 .. 2]'
*** First throw call stack:
(
    0   CoreFoundation                      0x017535e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x014d68b6 objc_exception_throw + 44
    2   CoreFoundation                      0x01707a32 -[__NSArrayI objectAtIndex:] + 210
    3   UIKit                               0x00772983 -[UITableViewDataSource tableView:heightForHeaderInSection:] + 50
    4   UIKit                               0x00504fba -[UITableViewController tableView:heightForHeaderInSection:] + 61
    5   UIKit                               0x00333920 -[UITableView _delegateWantsHeaderForSection:] + 349
    6   UIKit                               0x0049a8f7 -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] + 133
    7   UIKit                               0x0049eb3d -[UITableViewRowData numberOfRows] + 98
    8   UIKit                               0x003274c2 -[UITableView noteNumberOfRowsChanged] + 120
    9   UIKit                               0x00326e6f -[UITableView reloadData] + 814
    10  UIKit                               0x0032a8d3 -[UITableView _reloadDataIfNeeded] + 65
    11  UIKit                               0x0032f4f4 -[UITableView layoutSubviews] + 36
    12  UIKit                               0x002b3dd7 -[UIView(CALayerDelegate) 

这是静态表的节数。

- (NSInteger)numberOfSectionsInTableViewUITableView *)tableView
{
    // Return the number of sections.
    if (tableView == self.ismTableView) {
        return 4;
    } else {
        // Static sections
        return 3;
    }
}

即使我正在检查表名并返回正确的计数,它似乎也没有接受它。



Best Answer-推荐答案


第二个表格 View 调用 tableView 方法的默认实现,这个默认实现与只有三个单元格的 Controller (第一个表格 View )的 tableView 属性一起工作。所以我猜你将不得不覆盖所有接收 indexPath 的方法

关于ios - 同一个 Controller 中的两个 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707088/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap