Swift应用中Firestore添加数组元素时遇类型转换错误求解决
问题解决方法
错误原因很明确:FieldValue.arrayUnion(_:)方法要求传入数组类型的参数([Any]),你直接传递了单个String类型的eventID,导致类型不匹配。
修正后的代码如下:
func addEventIdToUser(eventID: String) async { let db = Firestore.firestore() let userReference = try await db.collection("user").document(userID) try? await userReference.updateData(["events": FieldValue.arrayUnion([eventID])]) }
只需要把eventID用数组包裹起来,变成[eventID]传入arrayUnion即可。arrayUnion的作用是向Firestore的数组字段中添加不重复的元素,哪怕只添加单个元素,也需要以数组形式作为参数传入。
内容的提问来源于stack exchange,提问作者anni_m
相关产品推荐
相关产品推荐

