从runTransactionBlock数组中删除对象[Swift Firebase]

时间:2016-08-17 21:32:50

标签: arrays swift firebase firebase-realtime-database

我尝试使用Firebase和runTransactionBlock来更新服务器上的数组。我以前能够使用Synchronized Array (for likes/followers) Best Practice [Firebase Swift]上找到的解决方案将userToFollow的uid添加到user的{​​{1}}节点。现在,我尝试通过从Following userToFollow删除user的uid来启用取消关注,但尽管Following node成功,但数据仍未更新。这是我的代码:

runTransactionBlock

我正在尝试更新数组,首先整理static func unfollow(user: FIRUser, userToUnfollow: FIRUser) { self.database.child("users/"+(user.uid)+"/Following").runTransactionBlock({ (currentData: FIRMutableData!) -> FIRTransactionResult in var value = currentData?.value as? Array<String> if (value == nil) { print("unfollow - user has never followed user ID " + userToUnfollow.uid) FIRTransactionResult.abort() } else { value = value!.filter() {$0 != userToUnfollow.uid} } currentData.value = value! return FIRTransactionResult.successWithValue(currentData) }) { (error, committed, snapshot) in if let error = error { print("unfollow - update user unfollowing transaction, please try again - EXCEPTION: " + error.localizedDescription) } else { print("unfollow - update user unfollowing success") } } } 的uid,然后将此数据与Firebase同步。如何让它实际删除节点?感谢。

0 个答案:

没有答案