Conversation
shinya-todaka
left a comment
There was a problem hiding this comment.
レビューしました!
自分も勉強のために全く同じものを作ってみたのですが
https://github.com/marty-suzuki/iOSDesignPatternSamples/tree/mvp/iOSDesignPatternSamples/Sources/UI/Favorite
が参考になりました。
あと自分もしっかり考えたことなかったですがclassのプロパティとメソッドへのアクセスはselfは省略した方が良いかもです。
参考 https://qiita.com/taketomato/items/d5630fe5df45f4093720#3-classes
chat-iOS/Views/CreateChatRoom/CreateChatRoomViewController.swift
Outdated
Show resolved
Hide resolved
chat-iOS/Views/CreateChatRoom/CreateChatRoomViewController.swift
Outdated
Show resolved
Hide resolved
chat-iOS/Views/CreateChatRoom/CreateChatRoomViewController.swift
Outdated
Show resolved
Hide resolved
chat-iOS/Views/CreateChatRoom/CreateChatRoomViewController.swift
Outdated
Show resolved
Hide resolved
| cell.deleteUserButton.tag = indexPath.item | ||
| cell.deleteUserButton.addTarget(self, action: #selector(tapSelectedUserCollectionViewCellDeleteUserButton(_:)), for: .touchUpInside) | ||
|
|
||
| //TODO:Firestoreから取得した後で表示し直すこと | ||
| if #available(iOS 13.0, *) { | ||
| cell.profileImageView.image = UIImage(systemName: "bolt.circle.fill") | ||
| } else { | ||
| // Fallback on earlier versions | ||
| } |
There was a problem hiding this comment.
tagを使わずにdelegateかクロージャの方が良いかなと思うのですがどうでしょうか?
参考 https://fluffy.es/handling-button-tap-inside-uitableviewcell-without-using-tag/
There was a problem hiding this comment.
これは結局SearchUserTableviewCell内に
cell番号自体を保存する必要がある(サイト内ではユーチューバの名前がクロージャーで送られてる)かつ,ボタンで使うのはcellで固有のString等の情報でなく単にcellの番号のみの取得なので,今回の処理ではtagを使った実装にしたのですがどうでしょうか?
There was a problem hiding this comment.
タグを使わない方が良い(例えばsectionがいっこだけじゃない時にややこしくなる)と思っていて
その上で今回はtagを使ってindexPath.itemを渡しているので
それならクロージャを使って
cellのクラス内でbuttonがtapされた時に
deleteUserActionが実行されるようにして
cell.deleteUserAction = { [weak self] in
self?.presenter.didTapSelectedUserCollectionViewCellDeleteUserButton(index: indexPath.item)
}
こんな感じでindexPath.itemを渡した方が良いかなと思いました
There was a problem hiding this comment.
なるほど。理解しました!了解です
クロージャで実装します!
|
修正しました! |
|
Room保存機能を実装した上でcellのボタンがタップされた処理を修正しました |
|
いいと思います! presenterにこんな感じで書いたら cellのとこがいい感じになると思います。(modelのisContainsも消せますね) tableViewとcollectionViewのcellの初期化はviewに値を渡すところは全部configureでして あとroomNameは |
概要
チャット選択画面を追加した
レビュー観点
コードの書き方
collectionviewとtableviewが同様のデータを持っているが表示データ自体を変数で分けて良いのか
レビューレベル
Lv0: まったく見ないでAcceptするLv1: ぱっとみて違和感がないかチェックしてAcceptするLv3: 実際に環境で動作確認したうえでAcceptするスクリーンショット
備考
ユーザ検索は全文一致で部分文字列の検索はしてない
プロフィール画像の表示はしてない
チャットルームをfirestoreに保存はしてない