我有一個應用程序,需要互聯網同步到本地核心數據庫的web服務。然後使用本地數據庫提取爲Tabbar控制器中的MapView和TableView填充不同的對象。林看着這些情景2:什麼是這個iOS應用程序最有效的工作流程?
「A」的主要優點是,我沒有與數據庫進行預加載應用程序,雖然它小分貝(約100條記錄)。問題是它變得複雜。如果沒有互聯網連接,在MapView中,用戶將看到一個地圖,但refreshButton被禁用。所以這不是問題。但用戶仍然可以訪問桌面視圖,他會看到一個空表。
「B」的主要優點是,使用預加載的數據庫,應用程序將始終有一個數據源可供繪圖和列表。我真的不知道如何用db預裝應用程序。
我有點想去第一條路線,「A」。我的主要問題是,因爲現在我禁用了MapView上的refreshButton,所以只有當數據從網上獲取時,它纔會起作用...那個sortedArray在啓動時是空的。所以如果用戶轉到TableVC,它將是空的。按照現狀,用戶必須先點擊刷新按鈕才能進入桌面視圖。
什麼是最有效的方法來處理這個問題?
+1很好的解釋。 – Dilip 2013-03-08 15:09:41
邊緣情況下,它們是很難編碼的,但它們對於用戶體驗非常重要。我認爲「A」是你最好的選擇(我的意見)。如果你沒有初始數據+沒有連接,你可以用「你需要下載數據,獲得互聯網連接」來阻止整個應用程序的使用。您可以編寫代碼來處理用戶在沒有數據時可以訪問的每個屏幕上的「無數據」場景。大多數表格都包含一個「無數據」的情況,它會添加一條通知用戶的行。最好的答案取決於您的使用情況和要求,通常偏向於個人偏好。 – DBD 2013-03-08 15:11:48
感謝Dilip,我真的希望有一個xcode模塊來處理邏輯,根據你的代碼向你展示它是什麼,因爲我非常直觀。 DBD,儘管我應該學習如何編寫第一個啓動場景等,但我認爲用戶應該連接到互聯網。林不知道阻止整個應用程序,但至少「沒有數據」的情況。雖然,這與阻止整個應用程序本質上是相同的,因爲他們除了shell外不會看到任何東西。再用UX來說,讓他們看到一些東西更好。所以我難過:(我想我需要去艱難的路線 – marciokoko 2013-03-08 15:39:23