我尝试保留一个单独的自定义单元格类,但不知何故,我从故事板拖入它的日期选择器拒绝在我运行它之后显示。
import UIKit
class eventViewController: UIViewController,UITextViewDelegate,UIScrollViewDelegate,UITableViewDelegate,UITableViewDataSource {
@IBOutlet weak var timeTableView: UITableView!
@IBOutlet weak var eventText: UITextView!
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.eventText.delegate = self
self.scrollView.delegate = self
self.timeTableView.delegate = self
self.timeTableView.dataSource = self
self.timeTableView.register(startDateCell.self, forCellReuseIdentifier: "startDateCell")
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "startDateCell", for: indexPath) as! startDateCell
//cell.startDatePicker.date = Date()
//cell.text = "anything"
return cell
}
}
class startDateCell: UITableViewCell {
@IBOutlet weak var startDatePicker: UIDatePicker!
}
我在自定义单元格中将插座连接到我的datePicker,并且我还在检查器中将自定义单元类定义为startDateCell,并在视图控制器中注册了自定义单元格。它会抛出一个运行时错误,说datepicker是nil。
有人可以解释为什么它没有出现吗?
答案 0 :(得分:0)
您是否可以从viewDidLoad()中删除以下代码,并确保在故事板中将自定义tableviewcell的重用标识符设置为“startDateCell”并重试?
self.timeTableView.register(startDateCell.self,
forCellReuseIdentifier: "startDateCell")