class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let path = NSBundle.mainBundle().pathForResource("TableRowInfo", ofType: "plist")!
let dict = NSDictionary(contentsOfFile:path)!
var artists: AnyObject = dict.objectForKey("Artist")!
var stages: AnyObject = dict.objectForKey("Stage")!
println(artists)
println(stages)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return artists.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("InfoCell", forIndexPath: indexPath) as? UITableViewCell
if cell == nil {
cell = UITableViewCell(style: .Subtitle, reuseIdentifier: "InfoCell")
cell!.accessoryType = .DisclosureIndicator
}
return cell!
}
}
嘿所有,
我是新手,所以只是尝试一些事情。我想要做的是用plist文件中的内容填充我的表格。我知道这不是最好的方法!我已经成功加载了列表。我的println(艺术家)也回归了我想要的舞台。唯一的问题是如果我在viewDidLoad函数之外调用艺术家或阶段它不起作用。为什么这样,我该如何解决?
提前致谢。
映入眼帘,
的Wouter
答案 0 :(得分:4)
变量"艺术家"和"阶段"不存在于viewDidLoad-Function范围之外。您必须将它们定义为在viewDidLoad函数之外访问它们的属性。喜欢这个
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
var artists: AnyObject?
var stages: AnyObject?
override func viewDidLoad() {
...
artists: AnyObject = dict.objectForKey("Artist")
...
}