一緒に学ぶswift(iOS)講座(番外編)
お久しぶりですteranyanです。夏休み中はアプリケーションの開発が忙しく、更新を怠ってましたm(_ _)m。 さて、今回はUITableView、UICollectionViewについての話をしたいと思います。毎度ながらこの記事は初心者向け+自分の議事録のため、ゴリゴリ書いている人はブラウザバック推奨です。
UITableViewとUICollectionViewって何?
UITableViewは、画面を「行」に分けて管理するビューです。 各行をタップした時に詳細画面へ移動するのが一般的です。
UICollectionViewは、データ項目の順序つき集合を表示する手段のひとつで、レイアウトを柔軟に. 変更できる、という特徴があります。
らしい、、、、、実際それぞれ使ってみた感想としてはUICollectionViewは全般的にViewを配列のスマホのホームにあるアプリアイコンみたいに並べたり、LineとかTwitter(SNS)のタイムラインみたいに並べたりできるのかなって感じがしました。
http://goodpatch.com/blog/wp-content/uploads/image5-1.png より
そして、UITableViewは特にSNSのタイムラインみたいな縦に並んで表示するのに特化してるのかなって感じがします。
http://upgrade.all-in.xyz/wp-content/uploads/2016/08/hootsuite.pngより
実際アプリの開発をする時にUITableViewとUICollectionViewどちらを使おうか悩んだらUICollectionViewを使うのがいいのかなって思いました。特にUITableViewじゃなければいけない理由がないなら尚更そう思います。
UITableViewとUICollectionViewのDataSourceとDelegate
実際にコードに書くのは別のnoteに書きますが、DataSourceとDelegateの説明をしてからこのnoteは終わりにしたいと思います。
DataSourceとは
DataSourceは例えば自分が作っているアプリケーションのタイムラインで表示したいコンテンツを管理(厳密には違うのかもしれない)で、 アイテム(タイムラインのセル)の数であったり、そのアイテムにデータを渡したりする処理もここで記述しています。
Delegateとは
アイテムの表示や操作を処理を担っていて、いいねボタンの実装やジェスチャーの処理を行っていたりします。(自分はセル側で処理を記述する方が多いです。
Delegateの説明はこちらが参考になります
終わりに
ほとんどのiOSアプリケーションにUITableViewとUICollectionViewが使われてるはず(偏見)ですが、そのくせデータの更新するタイミングの調整が厄介だったりします。次回か、その次辺りにUITableViewとUICollectionViewの実装するnoteを書くので見てくださるとありがたいです。
今回の記事で出てきた内容で間違っている箇所、内容があればTwitterに連絡ください。修正もしくは削除します。
この記事が気に入ったらサポートをしてみませんか?