2016-02-03 81 views
1

是否可以將兩個值分配給UITableView中的單元格?Swift將兩個值分配給UITableViewCell

我有一個結構類似的JSON文件:

{ 
    "band": [ 
     "Name": "The Kooks", 
     "id": "1258" 
    ] 
} 

我可以得到標籤在單元格中顯示並把它傳遞到一個新的視圖控制器,但我怎麼也分配ID,以便我也可以傳遞?

我是新來的快,所以請不要吃我。

編輯1:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    let cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell")! as UITableViewCell 

    cell.textLabel?.text = self.items[indexPath.row] 

    return cell 
} 

項目是空的,所以我得到它像這樣:

Alamofire.request(.GET, testurl, parameters: ["bandName": bandName]) 
     .responseJSON { response in 
      switch response.result { 
      case .Success: 
       if let value = response.result.value { 
        let json = JSON(value) 

        for (_,bands) in json { 
         for (_,bname) in bands { 
          let bandName = bname["Name"].stringValue 

          print(bandName) 

          self.items.append(bandName) 

          self.tableView.reloadData() 

         } 
        } 

       } 
      case .Failure(let error): 
       print(error) 
      } 

    } 
+0

請用String (格式:「String%@%@」,變量); –

+0

erm?謹慎解釋? – JamesG

+0

您不會將其分配給單元格。您將ID保存在您的模型中,然後通過'prepareForSegue'中的選定單元格的'indexPath'來檢索它。 –

回答

0

這些屬性創建類或模型和對象賦值保存對象的NSArray的作品因爲數據源使用選定的索引路徑從數據源獲取對象,並使用prepareForSegue將對象傳遞給新的視圖控制器。

+0

不,這是Objective-C不快。 – MarkP

+0

是的好我忘記你是對的。 –

1

您不應該將bname Dictionary中的每個值添加到self.items。 嘗試BNAME添加到self.items,代碼:

Alamofire.request(.GET, testurl, parameters: ["bandName": bandName]) 
    .responseJSON { response in 
     switch response.result { 
     case .Success: 
      if let value = response.result.value { 
       let json = JSON(value) 

       for (_,bands) in json { 
        for (_,bname) in bands { 

         self.items.append(bname) 

         self.tableView.reloadData() 

        } 
       } 

      } 
     case .Failure(let error): 
      print(error) 
     } 

} 

和的cellForRowAtIndexPath使用它: FUNC的tableView(的tableView:UITableView的,的cellForRowAtIndexPath indexPath:NSIndexPath) - > {UITableViewCell的

let cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell")! as UITableViewCell 
    if let dic = self.items[indexPath.row] as? NSDictionary{ 
     if let id = dic["id"] as? String{ 
      cell.idLabel.text = id 
     } 
     if let name = dic["Name"] as? String{ 
      cell.nameLabel.text = name 
     } 
    } 
    return cell 
} 
+0

cell.idLabel:類型'UITableViewCell'的值沒有成員'idLabel' – JamesG

+0

同名錯誤爲nameLabel – JamesG

+0

idLabel&nameLabel就是我的例子,您可以顯示它: cell.textLabel?.text =「\(id)& \(名稱)」 –

相關問題