iOS todo-tutorial,无法重新填充表格视图
Posted
技术标签:
【中文标题】iOS todo-tutorial,无法重新填充表格视图【英文标题】:iOS todo-tutorial, can't repopulate tableview 【发布时间】:2014-08-13 07:39:28 【问题描述】:所以昨天我开始学习 ios 编程,并按照待办事项应用的教程进行操作。https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/SecondTutorial.html#//apple_ref/doc/uid/TP40011343-CH8-SW1
按照指南告诉我,我已经创建了自己的 tablelistviewcontroller,我之前的所有静态数据在我启动时都消失了,教程告诉我这一点
你会注意到它实现了三个方法——numberOfSectionsInTableView:、tableView:numberOfRowsInSection: 和 tableView:cellForRowAtIndexPath:。您可以通过注释掉这些方法的实现来让您的静态数据再次显示。如果您愿意,请继续尝试。
所以我注释掉了 cellForRowAtIndexPath,它是唯一一个被注释掉的。然后我在“reuseIdentifier”出现错误,所以经过一段时间的谷歌搜索后,我设法将我的单元格命名为“Cells”,我最终得到了这个代码,
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifier = @"Cells";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
return cell;
但是每次我构建和启动应用程序时,我都看不到我以前的数据,我可以在我的故事板中看到它,但不是在应用程序中。现在我没有想法,因为我是新手,所以我相信解决方案很简单。
如果您需要任何其他数据,请通知。
【问题讨论】:
i cant see my previous data
是什么意思?
请在返回单元格之前添加此行以查看每个单元格中的内容。 cell.textLabel.text = @"someText"
请看这部分:在表格视图中显示静态内容developer.apple.com/library/ios/referencelibrary/GettingStarted/…
hey tableview 是用于显示数据而不是用于保存数据。
嘿dreamhawk 这是你的故事板还是模拟器?
【参考方案1】:
我认为你真的误解了这些台词:
那么为什么您的数据不显示?表视图有两种获取方式 数据——静态或动态。当一个表视图的控制器 实现所需的 UITableViewDataSource 方法,表格视图 要求其视图控制器显示数据,无论是否 静态数据已在 Interface Builder 中配置。如果你看 XYZToDoListTableViewController.m,你会注意到它实现了 三种方法——numberOfSectionsInTableView:, tableView:numberOfRowsInSection:, 和 表视图:cellForRowAtIndexPath:。你可以得到你的静态数据 通过注释掉这些方法的实现再次显示。 如果您愿意,请继续尝试。
问题是当您使用应用程序添加数据时,数据不再是static
。它是dynamic
。 UITableView
不存储您的数据。它只是显示它。当您使用动态数据时,您将需要一个datasource
,它将为tableView
提供要显示的数据。您必须通过 IOS 中的一些可能的存储机制来存储数据。这是一个这样的tutorial which will get you started with Core Data 的链接。
这是一个很好的tutorial which will get you started with UITableView
,它将显示动态数据。
问题是你的概念完全错误。
编辑
您可能在接口文件中添加了类似<UITableViewDataSource>
的内容,并且可能已经添加了ViewController
作为表格的数据源(在故事板中使用ctrl-drag 或在代码中使用tableView.datasource = self;
)。只需删除这两个,您的静态内容就会再次显示。
【讨论】:
但是我还没有通过应用程序添加数据,这是下一部分。我只通过故事板将数据添加到表格单元中,就像教程中解释的那样。但是由于苹果说“您可以通过注释掉这些方法的实现来再次显示静态数据。”,我不应该能够再次检索该数据吗?? 很抱歉在这里遇到了麻烦,我在哪里可以查看是否在 Main.storyboard 中添加了以上是关于iOS todo-tutorial,无法重新填充表格视图的主要内容,如果未能解决你的问题,请参考以下文章