## ボタン押した時、APIデータが切替表示されない
previous
ボタンと、next
ボタンを押した時、
別IDのAPIデータに切り替わるようにしたいです。(SWAPI使用)
ボタンは正常に押せます。
## 参考
画面下側に、previous
、next
があります。
## コード
適切なコードの箇所が分からないので、とりあえずVCだけ載せます。
swiftVC
1import UIKit 2 3class FilmsVC: UIViewController, PersonProtocol { 4 5 @IBOutlet weak var titleLbl: UILabel! 6 @IBOutlet weak var episodeLbl: UILabel! 7 @IBOutlet weak var directorLbl: UILabel! 8 @IBOutlet weak var producerLbl: UILabel! 9 @IBOutlet weak var releasedLbl: UILabel! 10 11 @IBOutlet weak var crawLbl: UITextView! 12 13 @IBOutlet weak var previousBtn: UIButton! 14 @IBOutlet weak var nextBtn: UIButton! 15 16 var person : Person! 17 let api = FilmsApi() 18 var currentFilm = 0 19 var films = [String]() 20 21 override func viewDidLoad() { 22 super.viewDidLoad() 23 24 films = person.filmUrls 25 guard let firstFilm = films.first else { return } 26 getFilm(url: firstFilm) 27 28 previousBtn.isEnabled = false 29 nextBtn.isEnabled = films.count > 1 30 31 // Do any additional setup after loading the view. 32 } 33 34 func getFilm(url: String) { 35 api.getFilm(url: url) { (film) in 36 if let film = film { 37 self.setupView(film: film) 38 } 39 } 40 } 41 42 func setupView(film: Film) { 43 titleLbl.text = film.title 44 episodeLbl.text = String(film.episode) 45 directorLbl.text = film.director 46 producerLbl.text = film.producer 47 releasedLbl.text = film.releaseDate 48 crawLbl.text = film.craw 49 } 50 51 52 @IBAction func previousClicked(_ sender: Any) { 53 currentFilm -= 1 54 setBtnState() 55 } 56 @IBAction func nextClicked(_ sender: Any) { 57 currentFilm += 1 58 setBtnState() 59 } 60 61 func setBtnState() { 62 previousBtn.isEnabled = currentFilm == 0 ? false : true 63 nextBtn.isEnabled = currentFilm == films.count - 1 ? false : true 64 } 65 66} 67
## 参考サイト
質問は以上です。
お時間あるときに、ご返信頂けましたら幸いです????
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/24 05:13