我在使用Firestore的setData操作时收到以下错误:

“由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[__ NSCFNumber hasPrefix:]:无法识别的选择器已发送到实例0xb000000000000003'”

这是因为我要发送Firestore自定义对象吗?我检查了Firestore的仪表板,看是否可以添加符合这些自定义对象(即[Int:Timestamp]类型的字段)的字段,然后发现可以...

任何指导将不胜感激。

以下是我的代码调用(customObjectOne的类型为[String:Date],而customObjectTwo的类型为[Int:Date]):

db.collection("collection").document("document").setData([
                "y": customObjectOne,
                "z": customeObjectTwo,
                ], options: SetOptions.merge())

最佳答案

根据@ gnasher720解决...

当存储的对象具有非字符串键(即[Int:Date])时,Firestore不接受写入操作。

将我以前的整数键更改为字符串类型可以解决我的问题。

关于ios - 无法识别的选择器已发送到实例(Firestore),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50260056/

10-13 09:25