мой tableView внутри collectionViewCell, когда я вызываю collectionViewCell.tableview.perforSelector (), мое приложение имеет вид cra sh и приводится ниже исключение.
Завершение работы приложения из-за невыполненного исключения «NSInvalidArgumentException», причина: '- [UITableView DataOnUI]: нераспознанный селектор, отправленный экземпляру 0x7ff267876600'
мое приложение содержит sh в этой строке: - "self.tblTopics? .Perform (Selector (" DataOnUI "), на: .main, с: nil, waitUntilDone: true)"
Код:
//****************************************************//
extension SelectedCategoriesCell: UITableViewDataSource, UITableViewDelegate {
//----------------------------------------------
func setUpTableView(){
tblTopics?.rowHeight = UITableView.automaticDimension
tblTopics?.estimatedRowHeight = 44
tblTopics?.allowsMultipleSelection = true
lcHeightOftblTopicsTable?.constant = 0
setUpTableData()
}
//----------------------------------------------
func setUpTableData(){
tblTopics?.dataSource = self
tblTopics?.delegate = self
self.tblTopics?.reloadData()
self.tblTopics?.perform(Selector("DataOnUI"), on: .main, with: nil, waitUntilDone: true)
}
func DataOnUI() {
self.lcHeightOftblTopicsTable?.constant = self.tblTopics?.contentSize.height ?? 0
self.tblTopics?.reloadData()
self.layoutIfNeeded()
self.setNeedsDisplay()
}
//----------------------------------------------
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrayAllTopic?.count ?? 0
}
//----------------------------------------------
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
//----------------------------------------------
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCell(withIdentifier: TopicsCell.className, for: indexPath) as? TopicsCell {
if let jsonObject = arrayAllTopic?[indexPath.row] {
var topicModel = Model.ListAllCategories(json: jsonObject)
cell.lblTopicTitle?.text = topicModel.name
return cell
}
}
return UITableViewCell()
}
//----------------------------------------------
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
var jsonData = arrayAllTopic?[indexPath.row]
jsonData?[api.kisSelected] = true
arrayAllTopic?[indexPath.row] = jsonData!
print("\(arrayAllTopic)")
}
//----------------------------------------------
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
var jsonData = arrayAllTopic?[indexPath.row]
jsonData?[api.kisSelected] = false
arrayAllTopic?[indexPath.row] = jsonData!
print("\(arrayAllTopic)")
}
}
Спасибо за ваше предложение ..