0

我正在使用 MonoTouch 为 iOS 编写一个新闻应用程序。数据来自 OData 网络服务。

我有一个名为 NewsFactory 的单例类,它负责查询 OData 提要。现在在 ViewDidLoad 方法中,我正在检索新闻文章列表并将其绑定到表视图。

但是 - 我不确定每次启动应用程序时如何刷新它。我不太关心“拉动刷新”。我要确保的是,每次启动应用程序(从头开始或再次激活)时,都会调用 Web 服务以确保我显示最新信息。

另外,我想介绍一下应用程序启动时网络连接丢失并通知用户的情况。用户关闭应用程序(暂停),假设网络连接恢复 - 如果用户再次打开应用程序,我想确保显示最新的新闻文章。

我正在以编程方式构建视图层次结构。我有导航控制器和一个带有 5 个标签的标签栏控制器。我的目标是 iOS 5。

我尝试使用 OnActivated 和 ViewWillAppear,但它们并没有完全满足我的需要。这是任何 iOS 应用程序的一个非常普遍的需求,因此必须有一个解决方案 - 我是新手,因此感谢您的帮助。

4

1 回答 1

0

好吧,您必须考虑,一般来说,如果您调用从一个源加载的方法(假设是一个包含数据的文本文件),那么您更改源(更改文本数据),但调用相同的方法时类被加载,那么新的数据会在新类被加载的时候出现。

例如:

- (void) loadView {
    NSString *testString = [NSString stringWithContentsOfFile:filePath];
    textView.text = testString;
}

此示例显示了将文件中的文本设置为 UITextView 实例。如果你第一次加载它并且文件包含“Hi”的内容,那么 textView 会说你好。如果您更改它,然后调用相同的方法,那么它将在您第二次加载应用程序时显示您更改的文本。

关键是,如果您更改数据,然后调用相同的方法,那么您会看到不同。除非您正在使用数据库。

如果您提供示例代码,我会给您一个更好的示例。

编辑:不确定您的自定义类是否带有此功能,但它包含在常规 UITableView 类中:

[tableView reloadData];

您可以在数组内部更改后调用它。

于 2012-08-02T02:11:40.867 回答