另一個p奧斯特已經從字面上回答了你的問題。鑑於您提出的使用方法以及字典是無序集合的事實,並且您通常需要更多地控制表視圖的佈局,我強烈建議您重新考慮您的數據格式。
如果您考慮表格背後的數據,它實際上是一個數組部分,每個部分都有一個標題和一些關聯的數據。
這表明我只是用元組的數組的第一次切割重組:
let sections = [("Home", ["Rooms","Stuff"]), ("My Profile", ["Property", "Agent", "Policy", "Claims"]), ("Help",["Recovery","ok"])]
func nameForSection(section:Int) -> String {
return sections[section].0
}
func titleForIndexPath(index:NSIndexPath) -> String {
return sections[index.section].1[index.row]
}
這樣的優點,創造的數據是非常簡潔,但無論是數據創建或代碼訪問數據特別清晰。作爲一個方面說明,您的現有數據可以通過此代碼片段重新組織到這個結構中,儘管這些部分的排序將會丟失。
let sections = Array(dicForSections)
在Objective-C,我們可能會使用詞典的數組解決這個問題,但既然你問雨燕雨燕的嵌入式結構,讓我們只使用那些,並添加一些格式,而我們在這:
struct Section {
let title:String
let rows:[String]
}
let sections = [
Section(title:"Home", rows:["Rooms","Stuff"]),
Section(title:"My Profile", rows:["Property", "Agent", "Policy", "Claims"]),
Section(title:"Help", rows:["Recovery","ok"])
]
func nameForSection(section:Int) -> String {
return sections[section].title
}
func titleForIndexPath(index:NSIndexPath) -> String {
return sections[index.section].rows[index.row]
}
現在數據的佈局和對數據的訪問都更加安全和清晰,並且我們的部分的順序保持不變,因爲我們沒有通過字典對其進行導入。
這是一個字典>不是嵌套數組。目前還不清楚你的要求是什麼,也沒有「示例代碼如下」 –
2014-10-03 06:58:36
只想將數組中的鍵及其值存儲在另一個數組中。 – 2014-10-03 07:03:37