Ios UITableViewCells未出现在第二个选项卡中

Ios UITableViewCells未出现在第二个选项卡中,ios,swift,uitableview,uitabbar,Ios,Swift,Uitableview,Uitabbar,我有以下问题: 我正在制作一个类似Pokédex的应用程序,在第一个选项卡上显示所有721个神奇宝贝的列表,在第二个选项卡上显示另一个列表,其中包含我最喜欢的神奇宝贝。基本上,有两个相同的ViewController连接到我的选项卡栏 我的故事板如下: 所以问题来了: 第一个(和初始)选项卡上的TableView工作正常。但是,当我在第二个选项卡上加载TableView时,会加载神奇宝贝,但不会显示。我可以单击TableViewCell并转到详细信息页面,但TableViewCell中的标签没

我有以下问题: 我正在制作一个类似Pokédex的应用程序,在第一个选项卡上显示所有721个神奇宝贝的列表,在第二个选项卡上显示另一个列表,其中包含我最喜欢的神奇宝贝。基本上,有两个相同的ViewController连接到我的选项卡栏

我的故事板如下:

所以问题来了: 第一个(和初始)选项卡上的TableView工作正常。但是,当我在第二个选项卡上加载TableView时,会加载神奇宝贝,但不会显示。我可以单击TableViewCell并转到详细信息页面,但TableViewCell中的标签没有显示任何内容

这是我用来加载收藏夹TableView的代码

class FavoritesViewController: BaseViewController,
UITableViewDataSource, UITableViewDelegate {

@IBOutlet var FavoritesListView: UITableView!

var pokemonList: [String] = ["Nothing Here!"]



func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("FavoriteCell", forIndexPath: indexPath) as! FavoriteCell

    var name = pokemonList[indexPath.row]

    capitalizeFirstLetter(&name)

    cell.nameLabel.text = name

    return cell;
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return pokemonList.count
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    print(pokemonList[indexPath.row])

    self.performSegueWithIdentifier("ToPokemonDetail", sender: pokemonList[indexPath.row])
}




override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if(segue.identifier == "ToPokemonDetail"){
        let destination = segue.destinationViewController as! PokemonDetailViewController
        let thisPokemon = sender as! String

        destination.currentPokemon = thisPokemon
    }
}

override func viewWillAppear(animated: Bool) {
    FavoritesListView.reloadData()
}


override func viewDidLoad() {
    super.viewDidLoad()

    // Fetch the cached list, getNames returns an array of strings
    let list = utility.getNames("Favorites")

    pokemonList = list

}

代理和数据源通过情节提要进行设置

上面的代码可以正常工作,并且可以很好地显示收藏夹列表。完整Pokédex的类具有类似的结构

我尝试过切换收藏夹和Pokédex,以便在启动时显示完整的Pokémon列表。所有721款神奇宝贝都显示正确,但是收藏夹不可见

我还尝试了什么:

  • 反复检查重用标识符
  • 参考插座应正确绑定
  • 在ViewDidAspect方法中调用TableView.reloadData()
  • 切换选项卡项
有人知道这里到底发生了什么吗? 请随时提问

编辑:这是我交换两个选项卡栏按钮时发生的情况,没有代码更改


可能未设置表的委托和数据源

table.delegate = self
table.dataSource = self
当然,这是在将属性添加到视图控制器之后

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

可能没有设置表的委托和数据源

table.delegate = self
table.dataSource = self
当然,这是在将属性添加到视图控制器之后

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

问题出现在情节提要单元标签框中。为(任意、任意)大小类设置视图控制器的约束。如果你能给我在你的git上的写权限,我可以在github上提交代码。谢谢

问题在情节提要单元标签框中。为(任意、任意)大小类设置视图控制器的约束。如果你能给我在你的git上的写权限,我可以在github上提交代码。谢谢

对于该控制器,您的行数始终为0, 我查了一下你的代码,口袋妖怪列表的计数总是0,它没有更新里面的数据

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return pokemonList.count
}

该控制器的行数始终为0, 我查了一下你的代码,口袋妖怪列表的计数总是0,它没有更新里面的数据

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return pokemonList.count
}

最大的问题是您的PokemonDetailViewController不是UITableViewController。它需要从UITableViewDataSource、UITableViewDelegate中删除,然后连接到情节提要视图,以提供表的数据和格式

最大的问题是您的PokemonDetailViewController不是UITableViewController。它需要从UITableViewDataSource、UITableViewDelegate中删除,然后连接到情节提要视图,以提供表的数据和格式

您的IndexPath行单元格是否被调用,或者代理是否已连接?您能否显示其背后的代码?从何处以及何时获取您的Fav?它应该在重新加载表之前获取数据。我已经更新了我的问题,在TableViews后面添加了代码。在cellForRowAtIndexPath中,检查'var name'值是否正在调用IndexPath中的行的单元格,或者委托是否连接?您能显示背后的代码吗?从何处以及何时获取Fav?它应该在重新加载表之前获取数据。我已经更新了我的问题,在表格视图后面添加了代码。在CellForRowatineXpath中,选中“var name”值。委托和数据源是通过故事板设置的。请看一下我的最新问题。我已经在一个TableViewControllers后面添加了代码哦,对不起。我会留下我的答案,以防对其他人有所帮助。代理和数据源是通过故事板设置的。请看一下我的最新问题。我已经在一个TableViewControllers后面添加了代码哦,对不起。我会把我的答案贴在网上,以防对其他人有所帮助。