반응형

iOS 146

[Swift] Firestore에서 읽은 데이터를 시간 순으로 정렬

저장한 문서에 타임스탬프를 추가하는 방법 @IBAction func sendPressed(_ sender: UIButton) { // firestore 시작하기 -> 데이터 저장 if let messageBody = messageTextfield.text, let messageSender = Auth.auth().currentUser?.email { // currentuser가 있는 경우 email을 내부에 저장 db.collection(K.FStore.collectionName).addDocument(data: [K.FStore.senderField: messageSender, K.FStore.bodyField: messageBody, K.FStore.dateField: Date().timeInterv..

[Swift] FireStore 실시간 업데이트 수신 대기(실시간 데이터 읽어오기)

getDocuments -> addSnapshotListner로만 바꿔주면 실시간으로 업데이트 할 수 있다. func loadMessages() { // firestore 시작하기 -> 데이터 읽기 db.collection(K.FStore.collectionName).addSnapshotListener { (querySnapshot, error) in self.messages = [] // 비우고 넣고 비우고 넣고 if let e = error { print("There was an issue retrieving data from Firestore. \(e)") } else { if let snapshotDocuments = querySnapshot?.documents { for doc in snapsh..

[Swift] FireStore에 저장한 데이터 불러오기(데이터 읽기)

override func viewDidLoad() { super.viewDidLoad() loadMessages() func loadMessages() { messages = [] db.collection(K.FStore.collectionName).getDocuments { (querySnapshot, error) in if let e = error { print("There was an issue retrieving data from Firestore. \(e)") } else { if let snapshotDocuments = querySnapshot?.documents { for doc in snapshotDocuments { // firebase -> firestore에 제시된 방법과 동일 le..

[Swift] FireStore에 데이터 저장하기

let db = Firestore.firestore() @IBAction func sendPressed(_ sender: UIButton) { if let messageBody = messageTextfield.text, let messageSender = Auth.auth().currentUser?.email { // currentuser가 있는 경우 email을 내부에 저장 db.collection(K.FStore.collectionName).addDocument(data: [K.FStore.senderField: messageSender, K.FStore.bodyField: messageBody ]) { error in if let e = error { print("There was an issue..

[Swift] Xib파일을 사용하여 TableView에서 셀 사용자 지정

CoCoaPod Class로 만들고 Subclass를 UITableViewCell로 -> XIB파일 생성한다. UI를 설정해주고 난 뒤에 xib파일을 viewDidLoad에 등록하기 TableViewDataSource로 이동해서 dequeueReusableCell로 가져와야 되고 그렇게 하기 위해서는 클래스->클래스 캐스팅이 필요하다 reusableCell에서 MessageCell클래스를 캐스팅해야함 extension ChatViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return messages.count } func tab..

[Swift] Firebase 이메일 회원가입, 로그인하기, 로그아웃하기

우선적으로 Firebase를 Addpackage로 Firebase Auth를 추가하고 이메일로 회원가입하는 절차 if let email = emailTextfield.text, let password = passwordTextfield.text { Auth.auth().createUser(withEmail: email, password: password) { authResult, error in if let e = error { print(e.localizedDescription) } else { // Navigate to the NextViewController self.performSegue(withIdentifier: "identifier", sender: self) } } } 등록한 이메일 인증해..

[Xcode] 터미널에서 podfile 설치 후 workspace생성 안되는 오류

터미널을 켜서 sudo gem install cocoapods cocoapod 설치를 한 이후 pod --version 2. 버전 확인 해서 설치가 됐음을 확인하고 pod init 3. 프로젝트 디렉터리에 podfile 생성시키고 pod install 4. 설치를 진행하면 원래 workspace가 생성되야 하지만 생성되지 않고 버그가 뜬다. /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi/library.rb:275: [BUG] Bus Error at 0x0000000104e94000 이런 무시무시한 문자들이 뜬다.. 무섭다... 검색 좀 해보니 M1에서만 일어나는 반응들 같고, 스택오버플로우에서 해결책을 찾음 해결책 pod init까지 하고 podfile생성 후에 ..

반응형