我正在使用Swift开发iOS应用。我需要在按下按钮后显示tableView。在某种程度上,我按下按钮后最终使用子视图显示我的表格。所以在我刚刚编写self.subview.hidden = false
的动作中,视图出现了包含表格,但问题是tableView没有显示任何数据!调试后我发现它没有进入返回numberOfRowsInSection
和cellForRowAtIndexPath
的tableView函数,我在控制台中收到了这条消息:
_BSMachError: (os/kern) invalid capability
_BSMachError: (os/kern) invalid name (15)
请注意,我已将tableView与datasource和delegate相关联, 在动作中显示表格的想法是否有问题?
这是功能:
func searchBarSearchButtonClicked(searchBar: UISearchBar){
retrievedResults.removeAll(keepCapacity: false)
DirectorySearchBar.resignFirstResponder()
var searchString = DirectorySearchBar.text
if (searchString != ""){
self.subView.hidden = false
retrievedResults = searchForObjects(searchString!)
for res in retrievedResults{
print(res.USER_NAME)
self.SearchResultsTableView.reloadData()
}
}
}
以下是无效的功能
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if(tableView == self.DirectoryList){
if Selector.selectedSegmentIndex == 0 {
return Students.count
} else {
return Graduates.count
}
} else
{
return retrievedResults.count
}
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if(tableView == self.DirectoryList){
let cell = self.DirectoryList.dequeueReusableCellWithIdentifier("DirectoryCell", forIndexPath: indexPath)
if Selector.selectedSegmentIndex == 0 {
cell.textLabel?.text = Students[indexPath.row].0
} else {
cell.textLabel?.text = Graduates[indexPath.row].0
}
return cell
}
else {
let cell = self.SearchResultsTableView.dequeueReusableCellWithIdentifier("searchCell", forIndexPath: indexPath)
print(retrievedResults[indexPath.row].FULL_NAME)
cell.textLabel?.text = retrievedResults[indexPath.row].FULL_NAME
return cell
}
}