데이터를 읽고 쓰기를 해봤으니
이번시간에는 서버에 있는 데이터를 parsing 해보겠습니다.
Firebase Realtime Database - Read Data
https://accompani-i.tistory.com/158
Firebase Realtime Database - Write Data
https://accompani-i.tistory.com/159
오늘의 목표
firebase에 써놓은 데이터인 고객(customers)의 을 parsing해서
customer.count를 나타내보도록 하겠습니다.
ViewController를 UILabel과 연결하는 작업은 생략하도록 하겠습니다.
override func viewDidLoad() {
super.viewDidLoad()
updateLabel()
fetchCustomers()
extension ViewController {
func fetchCustomers() {
db.child("customers").observeSingleEvent(of: .value) { snapshot in
print("-->\(snapshot.value)")
//프린트해보니 array형식입니다. -> 이걸 다시 JSON형태로 바꿔줘야 합니다.
이전에 서버에 넣어줬던 Struct Customer, Struct Book을 Codable 준수하게 끔 변환해줍니다.
array(snapshot)->json : JSON형태의 파일은 Codable로 아주 쉽게 파싱 가능
do {
let data = try JSONSerialization.data(withJSONObject: snapshot.value, options: [])
let decoder = JSONDecoder()
let customers: [Customer] = try decoder.decode([Customer].self, from: data)
DispatchQueue.main.async {
self.numOfCustomers.text = "# of Customers: \(customers.count)"
}
} catch let error {
print("--> error: \(error.localizedDescription)")
}
}
}
}
'iOS > Swift 어플 따라하기' 카테고리의 다른 글
[Swift] ScrollView 개념과 레이아웃 설정(scrollview error) (0) | 2022.04.05 |
---|---|
[Swift] Firebase Realtime Database에서 update, delete (0) | 2022.04.04 |
[Swift] Firebase RealtimeDatabase Write Data (0) | 2022.04.02 |
[Swift] Firebase Realtime Database에서 Read Data (0) | 2022.04.02 |
[swift] SDK? / cocoapods 설치 (0) | 2022.03.31 |