Firebase에있는 JSON 트리에서 일부 값을 얻으려고하지만 오류가 발생합니다.
'__NSCFNumber'(0x1a7c497f0) 유형의 값을 'NSString'(0x1a7c55398)으로 캐스팅 할 수 없습니다.
값을 설정하는 방법은 다음과 같습니다.
let values = ["username": username, "email": email, "reputation": reputation] as [String : Any]
나는 다음과 같은 가치를 얻습니다.
self.databaseRef.child("users").child(self.loggedInUser!.uid).observeSingleEvent(of: .value) { (snapshot:FIRDataSnapshot) in
//store the logged in users details into the variable
print(self.loggedInUser)
let snapshot = snapshot.value as! [String: AnyObject]
self.usernameLabel.text = snapshot["username"] as! String
self.reputationLabel.text = snapshot["reputation"] as! String//This is giving me error
})
내가 뭘 잘못하고 있니? 원인은 무엇입니까? Swift 2에서는 작동했지만 Swift 3에서는 작동하지 않았습니다.
firebase에서 검색하는 데이터는 아마도 double 유형일 것입니다. 이것을 사용해보십시오 :
self.reputationLabel.text = "\(snapshot["reputation"])"
편집하다:
이것이 당신에게 nil을주는 경우 조건부 unwrap을 사용하십시오.
if let reputation = snapshot["reputation"] {
self.reputationLabel.text = "\(reputation)"
} else {
print("reputation is nil")
}
데이터가 nil이면 firebase에서 데이터 이름을 확인하고 db의 개체를 확인하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다