Swift tableView委托方法没有被调用

时间:2014-10-07 06:55:47

标签: ios uitableview swift

我创建了一个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() {

}

提前致谢。

2 个答案:

答案 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 {”

的结尾}