2016-10-10 39 views
1

我想要做的是將我的信息從Json文件顯示到Xcode(Swift)上的TableView中。這裏是我想要的示例:如何從Swift中的Json文件顯示多個TableView?

我想從國家,城市和城市的一些輔助信息中檢索我的json數據。在第一個屏幕我想顯示在TableView中的國家的名字:

  • 巴西
  • 德國
  • 法國
  • 美國
  • 阿根廷
  • 等...

然後,當我在一個國家的單元格中(例如美國)打開一個新的TableView時包含來自美國的所有州(或城市)。所以我CLIC在美國,我在第二個屏幕的以下信息:

  • 佛羅里達
  • 紐約
  • 加州
  • 內華達
  • 等...

而且最後,當我在某個州(或城市)進行角逐時,例如在紐約,我想展示我選擇的州(紐約)的一些輔助信息。因此,在第三屏幕我有:

「紐約是一個真棒城市......等等」

我想從一個tableview中到另一個navegate,所以我不知道如何添加「回「按鈕在屏幕的頂部,爲每個tableview。這些國家和城市我想在不同的細胞中展示,所以我可以在他們身上顯示信息。

這裏是我的JSON例子:

[ 
    { 
     "country": "Brazil", 
     "city": [ 
      "Sao Paulo", 
      "Rio de Janeiro" 
     ] 
    }, 
    { 
     "country": "Germany", 
     "city": [ 
      "Berlin", 
      "Frankfurt" 
     ] 
    }, 
    { 
     "country": "France", 
     "city": [ 
      "Paris", 
      "Marselle" 
     ] 
    }, 
    { 
     "country": "USA", 
     "city": [ 
      "Florida", 
      "New York", 
      "California", 
      "Nevada" 
     ] 
    }, 
    { 
     "country": "Argentina", 
     "city": [ 
      "Buenos Aires", 
      "Mendoza", 
      "La Plata" 
     ] 
    }, 
    { 
     "country": "England", 
     "city": [ 
      "London", 
      "Manchester", 
      "Liverpool" 
     ] 
    } 
] 

請任何人可以幫助我做到這一點?我該怎麼做?非常感謝!

+0

順便說一句:你的json例子不是有效的json。關鍵「城市」的值應該是數組 –

+0

你是什麼意思「應該是一個數組」?什麼是我的Json例子的正確表達式? – Mario

+0

查看RamenChef的編輯 –

回答

3

這是非常非常簡單,大部分工作是由iOS和Xcode的時候,你會不會做這麼多工作。

您需要了解以下主題:UITableViewUINavigationControllerStoryboards

你可以按照this教程,你會發現這是一個非常簡單的任務。

這裏的步驟:

所有的
  1. 首先,你需要設計一個故事板的應用程序UI。您將爲「國家」屏幕創建一個場景視圖,爲城市創建另一個場景視圖,爲城市詳細信息屏幕創建另一個場景視圖。
  2. UINavigationController中嵌入第一個屏幕,以便免費獲取所有導航內容。
  3. 在國家屏幕表格視圖中顯示國家數據。
  4. 從「國家」表格視圖切換到城市屏幕。因此,選擇一個國家時,其城市將顯示在城市屏幕中。
  5. 使用方法prepareForSegue(在上述教程中描述)將選定的國家/地區對象傳遞到城市屏幕。
  6. 顯示城市列表中的城市屏幕。
  7. 從「城市」屏幕城市詳細信息屏幕導航時執行相同操作。

請先閱讀教程,然後您將非常瞭解我提到的步驟。這是相當簡單的任務,大約需要1個小時的時間。

+0

直升機米納斯,感謝您的時間和你的答案。但我怎樣才能做到這一點與Json文件?是否有另一個教程解釋如何解析Json文件到Swift中?就像我想要做的一樣? – Mario

+0

解析JSON比您想象的要簡單得多。檢查[this](https://www.raywenderlich.com/120442/swift-json-tutorial)教程。使用'NSJSONSerialization'非常簡單。如果您需要進一步幫助,請告訴我。 –

+0

我覺得我有點迷路。如果你可以幫助我與我的應用程序,我將不勝感激。有沒有郵件,Skype或任何我可以寫信給你的地方?非常感謝米納斯! – Mario

0

你的表視圖數據源的方法是專爲這種使用情況:

使用存儲的NSIndexPath *selected跟蹤didSelectRow

的UI狀態,如果statment到數據源的方法if (selected)添加到cellForRow和numberOfRows

selected == nil邏輯分支,return dict.keys.count的行數,並返回dict.keys[indexPath.row][@"country"]作爲標題爲您排

selected != nil分支,return dict[dict.keys[selected.row][@"cities"].keys.count的行數,並返回dict[dict.keys[selected.row]][@"cities"][indexPath.row]作爲標題爲您排

相關問題