2011-11-09 68 views
0

我有這個應用程序,我讓用戶設置一個搜索查詢基於他們從一堆XML數據中選擇的值,然後將用於搜索數據庫的東西。增加uitableview的性能

目前我有3個單元格可以接受查詢的搜索參數,每個單元格將它的數據加載到同一個uitableview中,所以我必須使用if語句進行furtging操作,以確保所有內容都正確工作數據集。

第一個單元格允許用戶選擇摩托車製造,所有制造商都列在桌面視圖上。正在加載的xml具有與列出每個製造模型的第二個列表相關的鍵值。我希望在用戶選擇tableviewcell時立即根據製造選擇設置製造商列表。

這樣,當用戶回到主視圖然後選擇第二個單元格時,我創建的(字典)加載速度非常快。

目前一切都完成每次子視圖加載..所以,因爲我的製造清單是如此之大,當用戶選擇製造商,他們想要搜索什麼時候回到子視圖與manufactre選擇id必須與每一個製造商的每一個模型進行比較,以獲得需要很長時間的列表來顯示。

我想知道你會如何嘗試這樣的事情。下面是我想如何做的流程圖。如果您認爲我的做法是正確的,我想就您提出的一些意見/建議,以及如何嘗試做到這一點。 enter image description here

任何幫助,將不勝感激(如果您無法讀取圖像中的文本,你可以右鍵點擊保存到桌面和它的很多大)

回答

0

爲此正常,你可能想使用某種您的應用程序中的數據結構允許快速查詢,而不是對xml輸入文件進行多重分析。

對於一個簡單的「第一切」解決方案,您可以將XML文件解析爲NSDictionary,並查詢製造商 - >模型關係。您可以從XML文件中構建一次NSDictionary,然後將結果保存在某處,並且搜索將比每次查看XML快得多。

對於更強大的功能,它將值得使用CoreData來存儲您的製造商 - >模型關係。這將代表你的代碼更多的代碼,但會給你一個更好的對象模型。

+0

hrmm ..我需要看看這個模型對象..我已經去做了幾次,但我得到高度的困惑..只是添加到這個問題,我可以從不同的視圖訪問sharedCache? –