2015-07-10 74 views
1

所以,我有一些信息得到一類變量數據 - 迅速

class Data { 

    var agen = [… ] 
    var tours = [… ] 
    var marseille = [… ] 
    …… 
} 

在另一個視圖 - 控制文件data.swift,I M試圖從上面這個取回的值。 我可以得到一個特定的值與成功命令:

let entry = data.agen[indexPath.row] 

它的工作,但我會在這個命令等設定的變量,我把這個

var passedValue:String! 
// passedValue coming from a segue from a previous VC 
// passedValue could be "agen", "tours",」marseille」 ... 
    let entry = data.passedValue[indexPath.row] 

但它不工作的消息錯誤告訴我:「數據不具有名爲成員‘passedValue’

我怎麼能正確設置變量?

+0

data.passedValue只有在Data.swift中定義了Passedvalue時纔有用!否則顯示錯誤「數據沒有名爲」passedValue「的成員 –

+0

passedValue將是Data中的變量之一(例如,」agen「,」tours「,」marseille「或...)。好嗎?我需要在數據上聲明var passedValue,我需要在這個變量中聲明什麼? – Hugo75

回答

0

約略有不同是什麼耳鼻喉科語法

class Data { 

    var agen = ["A","B","C"] 
    var tours = ["D","E"] 
    var marseille = ["F","G","H"] 

    subscript(index: String) -> [String]! { 
     switch index { 
      case "agen" : return agen 
      case "tours" : return tours 
      case "marseille" : return marseille 
      default: return [] 
     } 
    } 
} 

let key = "agen" 
let data = Data() 
print(data[key][1]) 

(也許是爲了多一點錯誤教授)

0

其他的解決方案是創建類/結構的「阿根」,「旅遊」等 並將其設置在數據對象

class Data { 

    var agen = [Agen(title), Agen(title2)] 
    var tours = [Tour(title), Tour(title2)] 
    …… } 

因爲,可能以後要顯示有關的tableView對象的一些信息,所以你可以是這樣的:

title.text = tour.title 
subtitle.text = tour.placeName 
imageView.image = tour.photos[1]