Swift - self.tableview.reloaddata()不适用于Master Detail Application

时间:2015-06-07 17:59:05

标签: ios uitableview swift tableview master-detail

我使用了xcode的预制Master详细信息应用程序并构建了它。对于tableview,我正在制作一个json请求并将其存储到coredata中;并尝试根据该coredata填充表格。

它的工作方式是用户登录,然后向用户的特定团队发出请求。生成的标题和URL将保存到coredata中,并用于填充tableview / detail视图。

虽然正在更新coredata(打印出日志),但tableview本身永远不会更新。我试过在viewDidLoad,viewDidAppear和viewWillAppear中放置self.tableView.reloadData();我还尝试创建一个每隔.4秒(当前代码)调用reloadData的计时器,我从未看到表格单元格的textLabel已更新。但是,如果我点击一个单元格,则更新详细视图中加载的链接。因此,为了重新迭代,coredata正在更新,但表永远不会更新其标签文本。

如果我停止通过xcode运行应用程序然后再次运行它,那么tableview将填充标签;但更改团队/用户会导致相同的结果(更新coredata /链接,不更新文本标签)

我的代码绝对不是最干净/最好的,只是试着让它在当下工作。

这是我的MasterViewController.swift:https://gist.github.com/aryanaziz/a9791a82061f156afdb9

编辑:发现问题。 我正在使用self.tableView.beginUpdates()函数,但从未使用导致问题的self.tableView.endUpdates()。删除beginUpdates()使tableview表现得像正常一样。

1 个答案:

答案 0 :(得分:0)

发现了这个问题。我正在使用self.tableView.beginUpdates()函数,但从未使用导致问题的self.tableView.endUpdates()。删除beginUpdates()使tableview的行为与正常情况相同。