Используя базу данных Firebase в реальном времени, я пытаюсь создать JSON, который, когда пользователь вводит данные вместо использования AutoId, вводит их со своего адреса электронной почты или имени пользователя?
Причина, по которой мне это нужно, заключается в том, что когда я получаю данные, мне нужно знать, на какой адрес электронной почты ссылается каждое задание, чтобы я мог показывать только данные, относящиеся к этому заданию.
Как видно из кода, я пытался добавить поле txt для каждого дочернего элемента, однако это не работает.
func addedJob (){
let key = ref.childByAutoId().key!
//let email = ["email": txtEmail.text! as String]
let job = ["id": key,
"shipper": txtShip.text! as String,
"consignee": txtCon.text! as String,
"email": txtEmail.text! as String,
"collection date": txtCol.text! as String,
"delivery date": txtDel.text! as String,
"freight": txtFreight.text! as String,
"reference": txtRef.text! as String,
"pod": txtPod.text! as String,]
ref.child(email).setValue(job)
// not working
ref.child(txtEmail.text! ?? "")
//Still not working this crashes every time
Полный журнал аварий:
Terminating app due to uncaught exception 'InvalidPathValidation', reason: '(child:) Must be a non-empty string and not contain '.' '#' '$' '[' or ']''
*** First throw call stack:
(
0 CoreFoundation 0x000000010be481bb __exceptionPreprocess + 331
1 libobjc.A.dylib 0x000000010b3e6735 objc_exception_throw + 48
2 firebarker2019 0x000000010916e2fd +[FValidation validateFrom:validPathString:] + 253
3 firebarker2019 0x00000001090f551f -[FIRDatabaseReference child:] + 239
4 firebarker2019 0x000000010904cee5 $S14firebarker201914ViewControllerC8addedJobyyF + 7061
5 firebarker2019 0x000000010904b10a $S14firebarker201914ViewControllerC6submityySo8UIButtonCF + 58
6 firebarker2019 0x000000010904b14c $S14firebarker201914ViewControllerC6submityySo8UIButtonCFTo + 60
7 UIKitCore 0x0000000110553ecb -[UIApplication sendAction:to:from:forEvent:] + 83
8 UIKitCore 0x000000010ff8f0bd -[UIControl sendAction:to:forEvent:] + 67
9 UIKitCore 0x000000010ff8f3da -[UIControl _sendActionsForEvents:withEvent:] + 450
10 UIKitCore 0x000000010ff8e31e -[UIControl touchesEnded:withEvent:] + 583
11 UIKitCore 0x000000011058f0a4 -[UIWindow _sendTouchesForEvent:] + 2729
12 UIKitCore 0x00000001105907a0 -[UIWindow sendEvent:] + 4080
13 UIKitCore 0x000000011056e394 -[UIApplication sendEvent:] + 352
14 UIKitCore 0x00000001106435a9 __dispatchPreprocessedEventFromEventQueue + 3054
15 UIKitCore 0x00000001106461cb __handleEventQueueInternal + 5948
16 CoreFoundation 0x000000010bdad721 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
17 CoreFoundation 0x000000010bdacf93 __CFRunLoopDoSources0 + 243
18 CoreFoundation 0x000000010bda763f __CFRunLoopRun + 1263
19 CoreFoundation 0x000000010bda6e11 CFRunLoopRunSpecific + 625
20 GraphicsServices 0x0000000113f801dd GSEventRunModal + 62
21 UIKitCore 0x000000011055281d UIApplicationMain + 140
22 firebarker2019 0x000000010904f227 main + 71
23 libdyld.dylib 0x000000010d894575 start + 1
24 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)