안야세요
오늘은 채팅 앱에서 메세지 데이터들을 가져오는 과정에 대한 공부를 했어요
// Firestore에서 메시지를 불러오는 메서드
private func loadMessages () {
// Firestore의 특정 컬렉션에서 모든 문서를 가져옴
self.db.collection(K.FStore.collectionName).getDocuments { querySnapShot, error in
// 문서 스냅샷이 nil이 아닐 경우 실행 ⭐️documents는 실제로 가져온 문서들의 배열⭐️
if let snapShotDocument = querySnapShot?.documents {
// 문서 배열을 순회하며 각 문서를 처리
for doc in snapShotDocument {
let data = doc.data() // 문서의 데이터를 ⭐️딕셔너리 형태로 추출⭐️
// 필드에서 sender와 body 값을 추출 (String 타입으로 캐스팅)
// ⭐️ 딕셔너리의 value 값 추출 중⭐️
if let sender = data[K.FStore.senderField] as? String,
let body = data[K.FStore.bodyField] as? String {
// 추출한 값으로 ⭐️Message 객체⭐️ 생성
let message = Message(sender: sender, body: body)
// messages 배열에 추가
self.messages.append(message)
}
}
// UI 업데이트는 메인 쓰레드에서 실행
DispatchQueue.main.async {
self.tableView.reloadData() // 테이블 뷰 리로드하여 메시지 표시
}
}
}
}
복잡하군요...
오늘 1차로 복습 했으니 내일 안보고 다시 쳐보기 도전~!!!
저는 4일 연휴의 마지막을 이렇게 보냈답니다
그럼 이만 내일의 출근을 위해 안,,,뇽
'STUDY > TIL' 카테고리의 다른 글
250510 TIL | 채팅 기능 구현하며 내용 공부함 (0) | 2025.05.10 |
---|---|
250507 TIL | FireStore 사용법 익히기, 딕셔너리 활용 (0) | 2025.05.07 |
250418 TIL | 순수함수, 표기법, 생명주기 | 불금엔 카공이지,,,웅웅 (0) | 2025.04.18 |
250410 TIL | swift 네트워크 통신 기초 흐름 잡기 (0) | 2025.04.10 |
250402 TIL | 카펫 문제 풀기 (0) | 2025.04.02 |