2013-02-22 92 views
2

我有一個數據類型稱爲Filter它有一個NSMutableArray屬性,它擁有一堆FilterKey對象(每個過濾器的鍵數量不同)。我有一堆Filter存儲在NSMutableArray中的對象,名爲Filters有效訪問數組中的數組

我對其中的每一行被填充有數據從FilterKey對象中的一個UITableView。我的問題是,在UITableView中的給定行,我怎麼可以使用Filters陣列找到正確的FilterKey(考慮到我已經手動將過濾器和按鍵按順序)?

基本上,我知道我可以通過Filters陣列和每個Filter對象只是遍歷,遍歷所有這FilterKeys,但我不知道是否有更好的方法來做到這一點(即更好的數據結構,或東西會給我正確的對象更快?

很抱歉,如果這是混亂,如果您有任何疑問,請讓我知道了意見。

+1

我沒有你的答案,我只想說你的用戶名是完美的!做得好! – 2013-02-22 16:43:49

+0

@AlbertRenshaw - 哈哈謝謝 – 2013-02-23 05:30:26

回答

2

通常,您將使用部分和行對於這一點,其中每個部分是一個過濾器和每行是一個FilterKey。

這聽起來像你只是想顯示過濾器鑰匙,沒有節標題爲他們的過濾器(如果我正確地讀你的文章)。如果你實際上不需要標題,那很好,只需返回0爲tableView:heightForHeaderInSection:niltableView:viewForHeaderInSection:

所有這一切都是真的方便性大於業績。它不太可能比運行過濾器和計算它們的密鑰數量快得多。這種操作非常快速。但是段/行可以更好地映射數據,因此無論如何我都可以使用它來使代碼更簡單。

1

您可以使用NSMutableDictionary這是哈希映射從而更快,更簡單,可讀操作。

如果您更喜歡使用陣列,則不需要遍歷來搜索特定值,您可以使用NSPredicate來過濾陣列。