0
나는 신속하고 firebase를 사용하여 아이폰 OS 응용 프로그램에서 일하고 있습니다.사용자 uid 오류! (스위프트 및 파이어베이스 프로젝트)
등록 된 사용자가 장치를 추가 할 수있는 장치 추가라는보기가 있습니다. 단순히 장치 이름, 설명, 범주를 입력하고 이미지를 추가 한 다음 장치 추가 버튼을 클릭하면됩니다.
여기에 등록 된 사용자의 정보를 포함하는 현재의 대시 보드는 다음과 같습니다
{
"UserProfile" : {
"1EJ8QmEQBJfBez7PMADbftCjVff1" : {
"city" : "الرياض",
"email" : "[email protected]",
"name" : "Norah",
"phone" : "0564695353"
},
"97PUAcUC5UYxLpBOLnC4yQjxiEf2" : {
"city" : "Riyadh",
"email" : "[email protected]",
"name" : "Mawada",
"phone" : "0534260282"
}
}
}
나는 다른 노드에 장치 정보를 추가 할. 이 라인에서
@IBAction func AddDeviceButton(sender: AnyObject) {
if DeviceName.text == "" || Description.text == "" || ImageView.image == nil {
let alert = UIAlertController(title: "عذرًا", message:"يجب عليك تعبئة معلومات الجهاز كاملة", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "نعم", style: .Default) { _ in })
self.presentViewController(alert, animated: true){}
} else {
let imageName = NSUUID().UUIDString
let storageRef = FIRStorage.storage().reference().child("Devices_images").child("\(imageName).png")
if let uploadData = UIImagePNGRepresentation(self.ImageView.image!) {
storageRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in
if error != nil {
print(error)
return
}
let profileImageUrl = metadata?.downloadURL()?.absoluteString
let DeviceInfo = [
"ImageUrl":profileImageUrl!,
"DeviceName":self.DeviceName.text!,
"Description":self.Description.text!,
"Category":self.itemSelected
]
self.ref.child("Devices").child(user!.uid).setValue(DeviceInfo)
})
}
}
:
self.ref.child("Devices").child(user!.uid).setValue(DeviceInfo)
뷰가 UID를 인식 할 수
다음은 버튼입니다!
왜?
Btw는 머라이어, 당신은 장치 노드를 만들려고 노력하는 방법, 난, 당신은 하나의 장치 만 값이 이전의 교체로 끝날 것이라고 생각 특정 장치, 즉'Device1' 노드에 있지 않다 ... – Dravidian
@ Dravidian I Know, 나는 이것이 두 가지 질문이라고 생각 했으므로 두 번째 질문에 대답하지 않았습니다. 나는 그 일을하는 방법을 찾고있다. 도울 수 있니? – Mariah
@ Dravidian 아직 JSON의 구조가 확실하지 않습니다. 중첩 된 구조라고 생각합니다! – Mariah