作者:finessi_739 | 来源:互联网 | 2023-01-07 22:43
我想实现UISearchController,使用本教程一步一步:
使用MKLocalSearchRequest搜索地点并使用UISearchController显示结果
在本节中......
使用MKLocalSearchRequest搜索位置
...我在步骤3中遇到问题.设置表视图数据源
extension LocationSearchTable {
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return matchingItems.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell")!
let selectedItem = matchingItems[indexPath.row].placemark
cell.textLabel?.text = selectedItem.name
cell.detailTextLabel?.text = ""
return cell
}
}
我正在尝试override
从cellForRowAtindexPath
tableView函数中删除,在这种情况下我在Xcode中没有错误,但执行后出错:
Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'UITableView (; layer = ;
contentOffset: {0, -56}; contentSize: {375, 132};adjustedContentInset: {56, 0, 0, 0}>)
failed to obtain a cell from its dataSource()'
错误消息大喊: failed to obtain a cell from its dataSource()
请告诉我,我做错了什么?我该如何处理这个问题?谢谢.
1> Puneet Sharm..:
本教程使用UITableviewDatasource方法的旧语法(可能是Swift 2.2):
你现在需要这些:
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
}
始终尽可能使用XCode的代码完成.