Как получить уникальный идентификатор в swift, чтобы удалить его (Firebase) - PullRequest
0 голосов
/ 12 ноября 2019

Как я могу получить доступ к уникальному идентификатору в Swift для Firebase? Я перепробовал почти все, что есть на этом форуме, я пытаюсь удалить этот определенный узел в ячейке таблицы в swift:

enter image description here

Я попытался создатьссылка на электронную почту пользователя и получение идентификаторов в словаре, однако, когда я пытаюсь сослаться на него из «indexPath», он возвращает идентификатор.

Я дошел до попытки массива с типом int, строка, любая;и те кричат ​​на меня.

Я включил пример кода:

 func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {

        var currentEmail = Auth.auth().currentUser?.email as String?

        if(editingStyle == .delete) {
            let ref = Database.database().reference()

            ref.child(currentEmail!).observe(.value, with: { snapshot in

                if !snapshot.exists() {return} //may want to add better error handling here.

                let info = snapshot.value as! NSDictionary

                let reff = info.index(ofAccessibilityElement: indexPath)

                print("info keys are:", reff)
            })
        }

Ответы [ 2 ]

0 голосов
/ 12 ноября 2019

вы пробовали snapshot.key? Пример:

self.uid = snapshot.key

0 голосов
/ 12 ноября 2019

Адрес электронной почты пользователя будет содержать символ ., что запрещено в ключе в Firebase. Так что это, вероятно, сообщение об ошибке, которое вы получаете на ref.child(currentEmail!) (в будущем укажите точное сообщение об ошибке в вашем вопросе, пожалуйста).

В вашей базе данных вы использовали адрес электронной почты минус .в качестве адреса электронной почты: nice@nicecom, который, вероятно, является адресом электронной почты nice@nice.com.

Так что вам также нужно убрать . из currentEmail перед передачей его в базу данных.

Так что-то вроде:

currentEmail = currentEmail!.replacingOccurrences(of: ".", with: "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...