2012-08-02 57 views
0

我正在爲使用MonoTouch的iOS編寫新聞應用程序。數據通過OData網絡服務來完成。MonoTouch - 刷新TableView

我有一個叫做NewsFactory的單例類,它負責查詢OData提要。現在,在ViewDidLoad方法中,我檢索新聞報道列表並將其綁定到表視圖。

但是 - 我不確定每次啓動應用程序時如何刷新。我不太在意「拉動刷新」。我想確保的是,每次啓動應用程序(從頭開始或重新激活)時,都會調用Web服務以確保顯示最新信息。

另外,我想介紹一下在應用程序啓動時網絡連接丟失並通知用戶的情況。使用關閉應用程序(掛起),讓我們說網絡連接返回 - 如果用戶再次打開應用程序,我想確保我顯示最新的新聞文章。

我以編程方式構建視圖層次結構。我有導航控制器和一個帶有5個選項卡的標籤欄控制器。我的目標是iOS 5.

我試着玩OnActivated和ViewWillAppear,他們沒有做我需要做的。這是任何iOS應用程序非常普遍的需求,所以必須有一個解決方案 - 我是新來的,所以任何幫助表示讚賞。

回答

0

那麼你一般認爲,如果你調用一個從一個源文件加載的方法(假設一個文本文件中包含數據),那麼你改變了源代碼(改變文本數據),但是調用在加載類時使用相同的方法,然後在加載新類時出現新數據。

例如像:

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

這個例子顯示文本的文件到一個UITextView實例的設置。如果你第一次加載它,並且文件包含「Hi」的內容,那麼textView會打招呼。如果你改變它,然後調用相同的方法,那麼它會在你第二次加載應用程序時顯示你改變的文本。

問題是,如果你改變數據,然後調用相同的方法,那麼你會看到一個區別。除非你使用數據庫。

如果您提供示例代碼,我會給你一個更好的例子。

編輯:

[tableView reloadData]; 

您可以調用後您的陣列內部的變化:如果你的自定義類帶有這個功能,但它被包含在常規的UITableView類不知道。