티스토리 뷰
안녕하세요 :) Zedd입니다.
오늘은..어떤분 질문을 도와주다가 글쓰면 좋을 것 같아서...XD
firebase를 어떻게 프로젝트에 적용시켜야 하는지 모르겠다!! 라는 분들은 <왕초보를 위한 firebase사용법>를 읽어주세요 :)
아무튼 제가 제목을......맞게 썼는지 모르겠지만...
firebase데이터베이스가 이런식으로 생겼어요.
근데 나는 저 name이 zedd인거를 찾아서 그 안에 있는 content랑 location을 가지고 오고 싶어요.
그러니까, "내용"과 "서울"을 가지고 오고 싶은거죠.
이렇게 해주면 된답니다.
일단 observeSingleEvent메소드는 데이터베이스에 있는 값들을 한번 쫙 읽는 기능을 가지고 있어요.
snapshot은 현재 데이터베이스의 상태를 찰칵하고 찍은 상태라고 볼 수 있어요.
for문 밑에 있는 snap은
위와 같은 걸 담고 있답니다.(for문 한번 돌때 저 snap이 하나씩 나오는거에요.)
1111과 2222는 snap의 key에요.
snap의 Value들은 content와 뭐 이런것들이겠죠?
snap의 Value들을 Foundation객체로 만들어주고, 제가 찾을 이름을 넣어주면 되는거에요.
저렇게 하면..!
이렇게 값을 가져올 수 있죠.
찾으면 break를 통해 for문을 빠져나온다던가 그러면 되겠죠?
데이터스냅샷이라던가..이런게 어려우신분들은 이렇게 해도 됩니다 :)
사실 위 코드랑 정말 똑같은거에요!!!
ref = Database.database().reference()
ref.observeSingleEvent(of: .value, with: { (snapshot) in
let values = snapshot.value
let dic = values as! [String: [String:Any]]
for index in dic{
if (index.value["name"] as! String == "zedd"){
print(index.key)
print(index.value["content"])
print(index.value["name"])
print(index.value["location"])
}
}
})
하지만 저 values를 Foundation객체화 시켜주는 과정에서. 캐스팅타입을 정확하게 줘야겠죠?!?!?!?!
주의해주세요 :)
firebase가 처음엔 정말 어려운데, 익숙해지면 정말 좋아요bb
도움이 되었으면 좋겠습니다...!😘
'iOS' 카테고리의 다른 글
iOS ) 네이버 검색 API 사용시..<b></b> (2) | 2017.11.14 |
---|---|
iOS) Date Picker (0) | 2017.11.13 |
iOS ) Xcode 프로젝트 이름 바꾸는 방법 (7) | 2017.11.08 |
iOS ) Cannot load module '..' as '...''에러 해결 (0) | 2017.11.08 |
iOS ) UIWindow. 그리고 UIView (1) | 2017.11.08 |
- WidgetKit
- iOS delegate
- IOS
- fastlane
- 스위프트
- swift tutorial
- 피아노
- swift sort
- SwiftUI
- swift3
- ios 13
- 회고
- swift 공부
- FLUTTER
- Accessibility
- 스위프트 문법
- 제이슨 파싱
- actor
- Combine
- Git
- swift array
- np-complete
- np-hard
- Swift
- github
- WKWebView
- Xcode
- UIBezierPath
- WWDC
- swift delegate
- Total
- Today
- Yesterday