【Swift5】下に引っ張ってTableViewを更新する方法

下に引っ張ってTableViewを更新する方法

下に引っ張るとクルクルが表示されて、TableViewを更新(リフレッシュ)する方法をメモしました。
Youtubeや各種SNSなど、アプリを使っているとよく見る機能です。
実行環境は下記の通りです。

Swift5.5.2
Xcode13.2.1



先にコードをご紹介すると、下記の通りです。

override func viewDidLoad() {
        super.viewDidLoad()
        let refreshControl = UIRefreshControl()
        refreshControl.addTarget(self, action: #selector(refreshTableView), for: UIControl.Event.valueChanged)
        tableView.refreshControl = refreshControl
}

@objc func refreshTableView() {
        randomArray = randomArray.map { $0 * 5 }
        tableView.refreshControl?.endRefreshing()
        tableView.reloadData()
}

コード自体は大変シンプルなので、下記の2点に注意すれば問題なく導入できるかと思います。
・viewDidLoadにて、「UIRefreshControl()」を使えるようにしおくこと
・「tableView.refreshControl?.endRefreshing()」の1文でクルクル(更新)を終了させること

これを利用したミニアプリのソースコードをGitHubに掲載しています。
動画のように、下に引っ張るとクルクルが表示されリフレッシュ(更新)されます。更新を繰り返す度に、TableViewCellの数字に5倍していくミニアプリです。
https://github.com/MaedaKouta/MiniApp17-TableViewCellReload

ということで本記事は、下に引っ張ってTableViewを更新する方法をご紹介しました。
本記事を書いている僕自身は、まだSwift初学者のためコードに至らない点が多いと思います。参考程度にご活用下さい。
アドバイスやコードの改善などあれば本記事の最後の部分からコメントしてくださいね。
最後まで読んでいただきありがとうございました!

おすすめSwift書籍

Swiftを学ぶなら、間違いのない2冊はこちら

Xcodeを学ぶなら下の一冊



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です