私は以下の問題があります: 最初のタブに721個のポケモンすべてのリストを表示するPokédexのようなアプリケーションと、My FavoritePokémonを含む2番目のタブに別のリストを表示します。基本的に、2つの同一のViewControllerがTabBarに接続されています。次のようにUITableViewCellsが第2のタブに表示されない
ので、ここで問題です: テーブルビュー最初の(初期)タブでは正常に動作します。しかし、私が2番目のタブにTableViewをロードすると、ポケモンはロードされますが表示されません。 TableViewCellをクリックして詳細ページに移動できますが、TableViewCellのラベルには何も表示されません。
この私が積載お気に入りに使用するコードですテーブルビュー
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のクラスも同様の構造です。
私は起動時に完全なポケモンリストを表示するように、お気に入りとポケドスを切り替えることを試みました。すべての721ポケモンは正しく表示されますが、お気に入りは表示されません。
- はオーバー、再利用識別子をチェックし、
- 超える参照コンセントがviewDidAppear方法
- 切り替えにTableView.reloadData()を呼び出す
- 正しくバインドする必要があります:私は試してみました他に何
タブの項目の周り
ここで何が起こっているのですか?それ以上の質問
気軽に編集:これは私が約2つのTabBarのボタンを入れ替えるときに何が起こるかで、何のコードが変更されない
IndexPathの行のセルが呼び出されているか、デリゲートが接続されていますか? –
これの背後にコードを表示できますか? – Mehul
どこからいつFavを取得していますか?テーブルをリロードする前にデータを取得する必要があります。 –