-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/create chat room vc #29
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
レビューしました!
自分も勉強のために全く同じものを作ってみたのですが
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
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tagを使わずにdelegateかクロージャの方が良いかなと思うのですがどうでしょうか?
参考 https://fluffy.es/handling-button-tap-inside-uitableviewcell-without-using-tag/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
これは結局SearchUserTableviewCell
内に
cell番号自体を保存する必要がある(サイト内ではユーチューバの名前がクロージャーで送られてる)かつ,ボタンで使うのはcellで固有のString等の情報でなく単にcellの番号のみの取得なので,今回の処理ではtag
を使った実装にしたのですがどうでしょうか?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
タグを使わない方が良い(例えば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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
なるほど。理解しました!了解です
クロージャで実装します!
修正しました! |
Room保存機能を実装した上でcellのボタンがタップされた処理を修正しました |
いいと思います!
presenterにこんな感じで書いたら
cellのとこがいい感じになると思います。(modelのisContainsも消せますね)
tableViewとcollectionViewのcellの初期化はviewに値を渡すところは全部configureでして あとroomNameは |
概要
チャット選択画面を追加した
レビュー観点
コードの書き方
collectionviewとtableviewが同様のデータを持っているが表示データ自体を変数で分けて良いのか
レビューレベル
Lv0: まったく見ないでAcceptするLv1: ぱっとみて違和感がないかチェックしてAcceptするLv3: 実際に環境で動作確認したうえでAcceptするスクリーンショット
備考
ユーザ検索は全文一致で部分文字列の検索はしてない
プロフィール画像の表示はしてない
チャットルームをfirestoreに保存はしてない