2012-07-02 71 views
0

這是我在這裏的第一個問題,我想問一下在將應用程序發佈到App Store後,是否有從遠程服務器更新UITableView內容(行)的問題。從遠程服務器更新UITableView

我正在做一個應用程序,有一個UITableView充滿了一些人,當你點擊其中一個顯示你的傳記,YouTube頻道,Twitter和Facebook頁面。

我只是想找到一種方法,更多的人時不時添加到列表中,但無法弄清楚如何做到這一點,而無需改變TableViewController.m

我不想要什麼是:每次我必須添加一些東西到UITableView時必須更新應用程序。

回答

3

當然這是可能的。很多應用都可以做到這一點。像蘋果的郵件應用程序,但也是第三方應用程序。你可以使用很多不同的方法,如果沒有關於你的問題的更精確的信息,很難說出適合你的東西。以下是一些常規建議:

您可以在服務器上設置一個簡單的RSS提要或簡單的XML文件,並隨時輪詢您的列表。

或者您可以使用基本(SQL)數據庫和簡單的後端,您可以在其中修改數據。然後你可以從這個數據庫下載你的內容。

下載過程將不得不在單獨的線程上運行,因此您不會阻止主要的線程。如果您使用自動爲您完成的NSURLConnection。當下載完成時,您更新您的表格視圖。

編輯:

您將有您的問題分解成小塊,並通過一個(Divide and conquer)解決這些問題之一。

首先了解如何使用NSURLConnection下載文本文件並將其內容記錄到控制檯。這應該不是非常困難,只要閱讀documentation並且如果你沒有成功就問更具體的問題。

然後決定使用什麼樣的格式(RSS,plist,純XML,JSON等等)並嘗試下載和解析這樣的文件。 Plist文件將是最容易解析的,但可能難以在您的服務器上手動編輯。還有XMLJSON解析器可用。

根據數據的複雜性,您可能需要實現一些模型類並將下載的信息傳遞給它們。如果這是您想要做的事情,請考慮在用戶關閉應用程序時使用核心數據在本地保存您的對象。您也可以使用NSFileManager將下載的文件保存到磁盤。

最後一步是使用現在存儲在手機上的數據填充表格視圖。這應該不是很困難,並且有很多關於這個的教程。

+0

互動, + 1給你深思熟慮的細節點 –

+0

有沒有關於如何從數據庫中獲取信息並用它填充UITableView的數組的教程?另外,用戶是否可以點擊該行並進入下一個窗口? –

+0

看我的更新... – DrummerB

0

如何填充TableView?你有哪些信息?因爲如果它在代碼中是一個糟糕的主意並且它是糟糕的設計。

我建議從Web服務獲取填充表格的信息,這樣您可以發送儘可能多的人,只要你想,你將不必更新應用程序。

+0

嗯,其實,因爲這是我的第一個應用程序,我有TableViewController.m內的所有信息,我仍然無法理解如何從Web服務中獲得的信息,並實現它到tableview中,並用它 –

1

在您的應用程序,你已經被指定爲回答到任何對象的表的"UITableViewDataSource" protocol的任務是提供數據表視圖。什麼樣的數據傳遞,取決於你和你的實現。

響應UITableViewDataSource協議的對象必須滿足所需的方法(number of rows in section,索引路徑上的行的單元格等)。所以如果你想從某個遠程服務器提供額外的數據,你絕對可以做到這一點,但你也應該確保能夠處理失敗的情況下,如服務器無法訪問(無WiFi或蜂窩服務)。