私は本当にこれを理解することに近いです。したがって、iOSメールアプリケーションでは、2つの矢印キーをクリックすると、前の/次のメールに移動します。その右上前/次の機能はiOSメールアプリのようですか?
に私は私の第二viewcontroller
にindexPath値を渡すと、コンソールにで印刷することができました。私はそれから増減することもできます。
if segue.identifier == "DetailVC" {
let detailVC = segue.destination as! DetailVC
let indexPath = self.collectionViewIBO.indexPathsForSelectedItems?.last!
detailVC.index = indexPath
}
EDIT 私はからデータを引っ張ってるところです。私のモデルから値を読み込みます。しかし、私はそれにindexPathを割り当てることはできません。以前のビューコントローラからのみ行うことができます
var monster: Monsters!
私はこのコードを使って "以前の"機能を実装しようとしました。私の見解スタイリングはdisplayDataForIndexPath()
機能であり、機能は私のview will appear
@IBAction func monsPreviousIBO(_ sender: Any) {
self.index = IndexPath(row: self.index.row - 1, section: self.index.section)
displayDataForIndexPath()
}
から呼び出された。しかし、それはないすべてはIndexPathを減らしています。何らかの理由でデータが実際に私の機能でリロードされません。私は同じ機能を達成するためにここにいくつかの重要なパズルピースを紛失しています。
func displayDataForIndexPath() {
if index.row == 0 {
self.monsPreviousIBO.removeFromSuperview()
}
var monsterName = (String(format: "%03d", monster.speciesId!))
self.navigationItem.title = monster.name!
let gif = UIImage(gifName: monsterName)
self.gifIBO.setGifImage(gif, manager: gifManager)
gifIBO.contentMode = .center
guard monster.legendary! != true else {
// Value requirements not met, do something
monsterStatusLegend()
return
}
guard monster.subLegend! != true else {
// Value requirements not met, do something
monsterStatusSub()
return
}
guard monster.isMega! != true else {
// Value requirements not met, do something
monsterStatusMega()
return
}
}
質問に答えるために 'displayDataForIndexPath()'コードを追加する必要があります。どういうわけかあなたは自己を使わない。あなたが 'displayDataForIndexPath()'関数を実行している間のインデックス変数 – muescha
コードを追加してポストを更新しました。うまくいけば、それは私が間違っていたことにいくつかの光を当ててください – baxu
注:index.rowはゼロベースですか? – muescha