从数据中获取价值/模糊使用
Getting back value from data / ambiguous use of
class Data {
class Entry {
let filename : String
let heading : String
let referenceville: String
init(fname : String, heading : String, referenceville : String) {
self.heading = heading
self.filename = fname
self.referenceville = referenceville
}
}
let places = [
Entry(fname: "bordeaux.jpg", heading: "Heading 1", referenceville : "bordeaux"),
Entry(fname: "lyon.jpg", heading: "Heading 2", referenceville : "lyo
n"), Entry(fname: "tours.jpg", heading: "Heading 3", referenceville : "tours"),
]
subscript(index: String) -> NSArray {
switch index {
case "places" : return places
case ...
default: return []
}
在class数据中,会有很多地方(places1,places2,places3,...)。
我想找回价值标题。我已经完成了以下代码,但它不起作用。 return标题使用不当。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell2 = tableView.dequeueReusableCellWithIdentifier("Cell2", forIndexPath: indexPath) as! CircuitsTableViewCell
let key = "places"
let data = Data()
var entry: AnyObject = data[key][indexPath.row]
println(entry.heading)
return cell2
}
但是如果我直接把变量作为一个固定值,它就可以工作了。但我需要使用一个变量。它想念我一些东西,但我不知道是什么。
var entry = data.places[indexPath.row]
println(entry.heading)
如您所知,places
数组中项目的类型始终是 Entry
,显式转换项目
var entry = data[key][indexPath.row] as! Entry
class Data {
class Entry {
let filename : String
let heading : String
let referenceville: String
init(fname : String, heading : String, referenceville : String) {
self.heading = heading
self.filename = fname
self.referenceville = referenceville
}
}
let places = [
Entry(fname: "bordeaux.jpg", heading: "Heading 1", referenceville : "bordeaux"),
Entry(fname: "lyon.jpg", heading: "Heading 2", referenceville : "lyo
n"), Entry(fname: "tours.jpg", heading: "Heading 3", referenceville : "tours"),
]
subscript(index: String) -> NSArray {
switch index {
case "places" : return places
case ...
default: return []
}
在class数据中,会有很多地方(places1,places2,places3,...)。 我想找回价值标题。我已经完成了以下代码,但它不起作用。 return标题使用不当。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell2 = tableView.dequeueReusableCellWithIdentifier("Cell2", forIndexPath: indexPath) as! CircuitsTableViewCell
let key = "places"
let data = Data()
var entry: AnyObject = data[key][indexPath.row]
println(entry.heading)
return cell2
}
但是如果我直接把变量作为一个固定值,它就可以工作了。但我需要使用一个变量。它想念我一些东西,但我不知道是什么。
var entry = data.places[indexPath.row]
println(entry.heading)
如您所知,places
数组中项目的类型始终是 Entry
,显式转换项目
var entry = data[key][indexPath.row] as! Entry