Получение этой ошибки Неоднозначное использование «текста» - PullRequest
0 голосов
/ 28 декабря 2018

Я создал объект заводы в базе данных Firebase, я хочу добавить еще одно значение "PlantId" для некоторых функций.Для этого я создаю случайный строковый идентификатор и передаю его объекту завода для сохранения в БД, но получаю ошибку «Неоднозначное использование« текста ».Я много искал, но не могу найти решение.пожалуйста, проверьте мой код ниже:

let plantId = NSUUID().uuidString
let plant = ["plantName": self.plantNameField.text, "plantType": self.plantTypeField.text, "plantLocation": self.plantLocationField.text,"userId": userID, "plantImageURL": plantImageURL, "plantId": plantId]
let childUpdates = ["/plants/\(key)": plant]
self.ref.updateChildValues(childUpdates)

Произошла ошибка в вышеуказанной строке кода номер 2

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Вы не предоставили достаточно информации, но давайте предположим, что ваш код выглядит следующим образом.У вас есть выход:

@IBOutlet var plantNameField : UITextField!

А потом вы скажете, например:

let plantId = NSUUID().uuidString
let plant = ["plantName": self.plantNameField.text, "plantId":plantId]

Это недопустимо, потому что self.plantNameField.text и plantId имеют разные типы, тогда как словарь вSwift должен иметь значения одного типа.Чтобы исправить это, вы должны сказать:

let plant = ["plantName": self.plantNameField.text!, "plantId":plantId]

(обратите внимание на восклицательный знак.)

И аналогично для других text записей в словаре.

Ноконечно, этот ответ зависит от предположения, что plantNameField действительно является UITextField;Вы не показали достаточно кода, чтобы я знал, правда ли это.

0 голосов
/ 28 декабря 2018

Я думаю, что вам не хватает создания "ключа"

    let key = ref.child("posts").childByAutoId().key
let post = ["uid": userID,
            "author": username,
            "title": title,
            "body": body]
let childUpdates = ["/posts/\(key)": post,
                    "/user-posts/\(userID)/\(key)/": post]
ref.updateChildValues(childUpdates)

Возможно, вы уже сделали, но взгляните на это.https://firebase.google.com/docs/database/ios/read-and-write Создание "Ключ" - единственная часть, которая отсутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...