본문 바로가기

2023/01

(15)
16. 코드 가독성 개선 코드 가독성 개선 UserService UserService > fetchUsers func fetchUsers(completion: @escaping([User]) -> Void) { var users = [User]() Firestore.firestore().collection("users").getDocuments { snapshot, _ in guard let documents = snapshot?.documents else { return } documents.forEach { document in guard let user = try? document.data(as: User.self) else { return } users.append(user) } completion(users) } } f..
15. 기능구현 #4 기능구현 #4 ExploreView ExploreView | UserService > fetchUser struct UserService { func fetchUser(withUid uid: String, completion: @escaping(User) -> Void) { Firestore.firestore().collection("users").document(uid).getDocument { snapshot, _ in guard let snapshot = snapshot else { return } guard let user = try? snapshot.data(as: User.self) else { return } completion(user) } } } UserService는 현재 fetchUs..
14. 버그 수정 #1 버그 수정 #1 Authentication, NavigationView 중복 표시 문제 Authentication | AuthViewModel > login before func login(withEmail email: String, password: String) { Auth.auth().signIn(withEmail: email, password: password) { result, error in if let error = error { print("debug: failed to signin \(error.localizedDescription)") return } guard let user = result?.user else { return } self.userSession = user print(..
13. DB와 연결하기 #2 DB와 연결하기 #2 프로필 사진 표시하기 프로필 사진 표시하기 | Kingfisher import 하기 Kingfisher GitHub - onevcat/Kingfisher: A lightweight, pure-Swift library for downloading and caching images from the web. A lightweight, pure-Swift library for downloading and caching images from the web. - GitHub - onevcat/Kingfisher: A lightweight, pure-Swift library for downloading and caching images from the web. github.com URL을 사용해..
12. DB와 연결하기 #1 DB와 연결하기 #1 Link UserData to SideMenu Link UserData to SideMenu | AuthViewModel class AuthViewModel: ObservableObject { @Published var userSession: FirebaseAuth.User? @Published var didAuthenticateUser = false @Published var currentUser: User? private var tempUserSession: FirebaseAuth.User? private let service = UserService() init() { self.userSession = Auth.auth().currentUser fetchUser() } 현재 접..