我正在尝试将数组值传递给tableview。
@ // 4 println(items)
它打印一个带有值的数组到我的控制台。我希望将这些结果传递给tableview。 tableview正在运行,但从var list: [String] = ...
如何获取println(items)
中的var list: [String] = ...
?
谢谢!
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
var list: [String] = ["Row One", "Row Two", "Row Three" , "Row Four", "Row Five"]
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
var results = "today"
var subItem = "movie"
// hier moet de opegslagen bioscoop komen die door de gebruiker is opgeslagen als keuze
var cinemaFilter = "Pathé Arena"
// Get the Cinema's from scraper and SwiftyJSON
DataManager.getCinemaDataFromScraperWithSuccess { (ScraperData) -> Void in
let json = JSON(data: ScraperData)
if let itemName = json["results"][results][0][subItem]["text"].stringValue {
println("Film resultaten:")
}
//1
if let itemArray = json["results"][results].arrayValue {
//2
var items = [itemModel]()
//3
for itemDict in itemArray {
var itemName: String? = itemDict[subItem]["text"].stringValue
var itemTime: String? = itemDict["time"]["text"].stringValue
var itemCinema: String? = itemDict["cinema"]["text"].stringValue
if itemCinema == cinemaFilter {
var item = itemModel(name: itemName, time: itemTime, cinema: itemCinema )
items.append(item)
} else {
//println("is niet de ingestelde bioscoop")
}
}
//4
println(items)
}
}
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.list.count;
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
cell.textLabel?.text = self.list[indexPath.row]
return cell
}
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("You selected cell #\(indexPath.row)!")
}
}
答案 0 :(得分:0)
使items
成为视图控制器的实例变量而不是局部变量,在数据源方法中使用它,并摆脱list
。
然后,您需要确定要在item
中显示cell.textLabel?.text
的哪一部分,名称,时间,电影或某种组合。
答案 1 :(得分:0)
而不是func中的var items = [itemModel]()
将它放在类lavel上,所以它是一个实例。然后改变
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.items.count;
}
和相应的单元格方法使用项目。