簡體   English   中英

構建應用以在單個UITableView中顯示兩個列表的最佳方法是什么(在數據集之間切換)

[英]What's the best way of building an app to display two lists in a single UITableView (switching between datasets)

對於iOS開發,我是相對較新的人,只想提供一些有關實現此目標的最佳方法的建議。 我正在構建一個帶有標簽欄的應用程序,這些標簽之一將是一個表格視圖,其頂部是帶有兩個按鈕的分段控件,允許您在數據集之間交換。

我的第一個問題是:

數據相對簡單,但是大約有6000條記錄,最好是使用簡單的NSDictionary作為數據源,或者我應該考慮使用Core Data。 應用程序的用戶只需選擇一條記錄即可將其添加到收藏夾列表中,或取消選擇它。

其次:

我應該使用兩個不同的視圖控制器並根據選擇的選項交換它們進出,還是應該使用單個視圖控制器並交換該類中的數據來填充表。

我是Apple Dev的注冊會員,因此可以訪問它們的示例,但經常會發現它們很難理解,因此非常感謝所有指向資源/教程的指針。

首先,對於任何無關緊要的事情,請始終考慮核心數據-在您的情況下尤其如此。 包含6000個對象的字典很容易變得難以管理。

對於視圖控制器,我認為規范的工作是使用單個表視圖控制器(因為您仍留在單個UITabBarController選項卡上),但更改其數據源,或僅更改從該源返回的數據。

如果您需要使其看上去相當平滑,則可以使用內置的UITableView動畫方法-我相信AP應用程序通過在單個表格視圖中對所有舊的動畫進行動畫處理並對所有新的動畫進行動畫處理來改變其新聞報道。 ,因此效果是完整的數據集更改,但沒有額外的視圖控制器。

總的來說,我發現Apple的示例和教程是最合適的,但是沒有什么可以替代自己構建應用程序並親自使用這些技術的-如果您不了解示例,請嘗試自己重新實現,然后看看有什么用你麻煩 如果您確實卡在某個東西上,請回來再問一個問題!

第一個問題:

如果您的數據集非常簡單,我建議您堅持使用一系列詞典; 或者,如果順序定義明確,並且每一行都有有意義的唯一鍵,則只需使用字典。

使用像Core Data這樣的大型框架時,需要進行復雜的權衡,並且直到您在對象模型中表達了關系之前,我才認為這種權衡是不值得的。

就是說,在做出此類決策時要考慮性能問題。 您有6,000條記錄,但是每條記錄都是鍵和值嗎? 沒什么大不了的。 但是,如果您有許多列,並且排序是一個問題,那么Core Data的SQLite后端將為您提供很多幫助。

如果數組或字典中填充了標准的Foundation數據類型,則您將免費獲得序列化 ,因為它們都實現了NSCoding。

第二個問題:

通讀Apple 關於model-view-controller設計范例的文章 關於您要在此處執行的操作要注意的事情是,由於您只想更改數據,因此只應更改模型。

UITableView旨在UITableView這一過程。 這是一個視圖,因此它不存儲其數據,但是它具有dataSource屬性,可以查詢該屬性以顯示信息。 因此,當用戶切換數據集時,只需切換表視圖的數據源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM