我已将TableView添加到我的控制器并创建了自定义UITableViewCell。后来,我试图运行这段代码:
Dim dt = DateTime.ParseExact(youroriginaldate, "yyyy-MM-dd HH:mm:ss", Nothing)
CStr(dt.ToString("dd-MMMM"))
但是我没有在日志func tableView(educationTableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> educationCell {
let cell:educationCell = educationTableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! educationCell
print("TableView runs")
return cell
}
中获取我的打印件。我不明白发生了什么以及它为什么不运行。谁知道,为什么会出现这个问题?
我在SO中读到了其他答案,但没有人帮助= /
答案 0 :(得分:3)
需要numberOfRowsInSection的返回值大于0
答案 1 :(得分:1)
确保您已为控制器实施了正确的数据源和代理,行数大于0
import UIKit
class MyViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
var items: [String] = ["We", "Heart", "Swift"]
@IBOutlet var tableView: UITableView! //hook this to your storyboard tableview
// MARK: - Controller life cycle stack
override func viewDidLoad() {
super.viewDidLoad()
//confirm table's delegate and data source programmatically
tableView.delegate = self;
tableView.dataSource = self;
}
//table view delegate and data source methods
func tableView(tableView:UITableView, numberOfRowsInSection section:Int) -> Int
{
//number of rows must be greater then 0 to get called "CellForRowAtIndex"
return self.items.count;
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier("cell") as! CraditCardCell
return cell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
print("You selected cell");
}
}
答案 2 :(得分:0)
一个原因可能是因为您将返回类型修改为educationCell,即标准UITableViewCell的instdead。尝试改变它。