model-view-controller - 在主/详细信息应用程序的主视图 Controller 中动态提供 uitableview 的问题

标签 model-view-controller ios5 uitableview master-detail

在基于主/详细信息应用程序模板创建项目后,我尝试提供主视图的内容。

我基本上有一个模型,其中包含我所有的数据,这些数据稍后可能会发生变化。我想通过提供每个部分的行数和具有此模型的部分的数量来自动提供表格 View 的内容。

我设法通过重写以下两个函数来做到这一点:

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

如果我没有编辑主视图 Controller - 主场景的 Storyboard ,使其反射(reflect)比我的模型更多的部分和部分中的行,我会收到 NSRangeException 异常。

例如:我为主场景留下了 1 个部分和 1 行的 Storyboard。如果我在 numberOfRowsInSection 函数中返回 2,我的程序将在运行时崩溃并出现以下 NSRangeExceptionError 错误:

2011-10-10 14:38:53.042 sample_project[3636:f803] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'

*** First throw call stack:

(0x13bb052 0x154cd0a 0x13a7674 0x432805 0x24227a 0x1ed548 0x1ef722 0x9f7c7 0x9f2c1 0xa228c 0xa6783 0x51301 0x13bce72 0x1d6592d 0x1d6f827 0x1cf5fa7 0x1cf7ea6 0x1d8330c 0x114c6 0x11bd6 0x20743 0x211f8 0x14aa9 0x12a5fa9 0x138f1c5 0x12f4022 0x12f290a 0x12f1db4 0x12f1ccb 0x112a7 0x12a9b 0x25e2 0x2555)

terminate called throwing an exceptionsharedlibrary apply-load-rules all

Current language:  auto; currently objective-c

(gdb) 

有人看到这种行为的原因吗?我错过了什么吗?我是否需要进行一些额外的初始化来为 Controller 的 didLoad 函数中的 tableview 设置默认大小?

最佳答案

我发现默认 TableView 内容属性设置为静态。您可以将其更改为动态原型(prototype)。您需要提供单元格的标识符:但我不确定如何使用它。这解决了我上面提到的崩溃问题。

关于model-view-controller - 在主/详细信息应用程序的主视图 Controller 中动态提供 uitableview 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8088430/

相关文章:

model-view-controller - 为什么无法显示 View ?

ios - 除非您拉动刷新,否则表中的数据不会更新。 swift ios

objective-c - iOS 中的 FacebookSDK 不显示关闭按钮且无法关闭

ios - 在 iOS 的表格 View 中隐藏单元格的标签

arrays - 快速显示数组中先前输入的项目

php - 基于 Yaf 框架的应用程序不运行

javascript - Rails 控制台显示 View 已渲染,但在浏览器中未渲染

model-view-controller - 我应该为基于浏览器的游戏使用什么模型?

iphone - 合并 iCloud 和核心数据数据库

ios - 如何检查用户是否在 Twitter 上关注您?