Ios Swift-UIPickerView无误崩溃应用程序
我对自定义UITableViewCell进行了子类化,并在其中安装了UIPickerView。我已经连接了我的IBOutlet,以及数据源和委托。但是,每当要显示单元格时,应用程序就会崩溃(控制台窗口中没有任何错误)。知道发生了什么吗?下面是自定义UITableViewCell的代码Ios Swift-UIPickerView无误崩溃应用程序,ios,swift,uitableview,uipickerview,Ios,Swift,Uitableview,Uipickerview,我对自定义UITableViewCell进行了子类化,并在其中安装了UIPickerView。我已经连接了我的IBOutlet,以及数据源和委托。但是,每当要显示单元格时,应用程序就会崩溃(控制台窗口中没有任何错误)。知道发生了什么吗?下面是自定义UITableViewCell的代码 import UIKit class OptionPickerTableViewCell: UITableViewCell, UIPickerViewDataSource, UIPickerViewD
import UIKit
class OptionPickerTableViewCell: UITableViewCell, UIPickerViewDataSource, UIPickerViewDelegate {
// MARK: - Variables
let height: CGFloat = 160
var options: [String] = [String]()
// MARK: - IBOutlets
@IBOutlet weak var pickerView: UIPickerView!
// MARK: Functions
func setCell(options: [String]) {
self.options = options
}
// MARK: - UIPickerViewDelegate
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return options[row]
}
// MARK: - UIPickerViewDataSource
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return options.count
}
}
更新:
收到的错误代码为:
Getting the errors: 2015-07-09 13:21:39.924 Gym Assist[12610:473411] -[NSObject numberOfComponentsInPickerView:]: unrecognized selector sent to instance 0x7fa62c828ad0 2015-07-09 13:21:39.931 Gym Assist[12610:473411] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSObject numberOfComponentsInPickerView:]: unrecognized selector sent to instance 0x7fa62c828ad0'
您的项目正在崩溃,因为您为PickerView分配了错误的委托和数据源 因此,将其删除并添加到自定义单元格类中的
awakeFromNib
方法中:
override func awakeFromNib() {
super.awakeFromNib()
pickerView.dataSource = self
pickerView.delegate = self
}
如果您不知道如何获取错误消息或任何关于崩溃的实际反馈,除了猜测之外,我们也无能为力。添加日志消息
func pickerView
以记录选项的大小:NSLog(“在pickerView中:选项有%i个成员,请求的成员%i”,options.count,row)
获取错误:2015-07-09 13:21:39.924健身辅助[12610:473411]-[NSObject NumberOfComponents SinPickerView:]:发送到实例0x7fa62c828ad0 2015-07-09 13:21:39.931健身辅助[12610:473411]的无法识别的选择器***由于未捕获的异常“NSInvalidArgumentException”终止应用程序,原因:'-[NSObject numberOfComponentsInPickerView:]:无法识别的选择器发送到实例0x7fa62c828ad0'该错误表示您已将委托和数据源连接到tableView控制器类,因此请删除该选择器,并将其添加到自定义单元格类中,如pickerView.dataSource=self-pickerView.delegate=self
。将错误消息添加到问题本身。