Swift 2.1 tableView没有显示数据 - 功能无效,名称无效(15)

时间:2015-12-01 12:27:40

标签: ios iphone swift uitableview swift2

我正在使用Swift开发iOS应用。我需要在按下按钮后显示tableView。在某种程度上,我按下按钮后最终使用子视图显示我的表格。所以在我刚刚编写self.subview.hidden = false的动作中,视图出现了包含表格,但问题是tableView没有显示任何数据!调试后我发现它没有进入返回numberOfRowsInSectioncellForRowAtIndexPath的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
    }


}

0 个答案:

没有答案