我创建了一个tableview控制器,但它的委托方法没有被调用。我推荐了几个网站,并没有在我的代码中遇到任何错误。请帮帮我。
class FriutsTableViewController: UITableViewController {
var fruitsList : [AnyObject] = ["We", "love", "swift"];
override func viewDidLoad() {
super.viewDidLoad()
let myCatalog = Catalog()
fruitsList = myCatalog.fruits;
//let view = ViewController()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func numberOfSectionsInTableView(tableView: UITableView!) -> Int {
return 0
}
override func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return fruitsList.count
}
override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
var cell = tableView.dequeueReusableCellWithIdentifier("fruitIdentifier") as? UITableViewCell
if !cell {
cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "fruitIdentifier")
}
cell!.textLabel.text = fruitsList[indexPath.row] as AnyObject! as String!
return cell
}
@objc func fetchFruits() {
}
提前致谢。
答案 0 :(得分:7)
尝试
return 1
in
numberOfSectionsInTableView.
答案 1 :(得分:2)
我建议您只需创建master-detail应用程序项目并查看tableviewcontroller代码。
在Xcode上粘贴代码后,会出现一些小问题。
import UIKit //1. remember to import UIKit for UITableViewController
//2. Do not return a UITableView! Instead, return a UITableView (without !)
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 0 // you should probably return 1
}
//3.Same as above. remove ! from UITableView, NSIndexPath and UITableViewCell
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
let object = objects[indexPath.row] as NSDate
cell.textLabel?.text = object.description
return cell
}
最后,你错过了“class FriutsTableViewController:UITableViewController {”
的结尾}