出现此错误 'text' 的用法不明确

Huz*_*een 0 ios firebase swift firebase-realtime-database

我在 firebase db 中创建了植物实体,我想为某些功能添加另一个“plantId”值。为此,我正在创建一个随机字符串 id 并将其传递给要保存在 db 中的植物对象,但我收到错误“文本的歧义使用”。我搜索了很多,但找不到任何解决方案。请在下面检查我的代码:

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)
Run Code Online (Sandbox Code Playgroud)

在上面的代码行号 2 中发生错误

mat*_*att 6

您没有提供足够的信息,但让我们假设您的代码如下所示。你有一个出口:

@IBOutlet var plantNameField : UITextField!
Run Code Online (Sandbox Code Playgroud)

然后你说,例如:

let plantId = NSUUID().uuidString
let plant = ["plantName": self.plantNameField.text, "plantId":plantId]
Run Code Online (Sandbox Code Playgroud)

这是非法的,因为self.plantNameField.textplantId具有不同的类型,而 Swift 中的字典必须具有相同类型的值。要修复它,你会说:

let plant = ["plantName": self.plantNameField.text!, "plantId":plantId]
Run Code Online (Sandbox Code Playgroud)

(注意感叹号。)

text字典中的其他条目类似。

但当然,这个答案取决于plantNameField确实是 UITextField的猜测;你没有显示足够的代码让我知道这是否属实。