2017-11-27 26 views
0

firebaseから子を削除しようとしています。ここで私はそれがコンソールに「正しく削除」印刷ですが、子供がfirebaseで削除されていないFirebaseデータベースから子を削除すると動作しない

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { 

    let taskToDelete = groupTask[indexPath.row] 

    if editingStyle == UITableViewCellEditingStyle.delete { 
     groupTask.remove(at: indexPath.row) 

     DataService.instance.REF_GROUPS.child("task").child(taskToDelete.id).removeValue(completionBlock: { (error, refer) in 
      if error != nil { 
       print(error) 
      } else { 
       print(refer) 
       print("Removed Correctly") 
      } 
     }) 
     tableView.reloadData() 
    } 
} 

を得たものです。それを行う別の方法がありますか?前もって感謝します。

Firebaseデータ構造

enter image description here

答えて

0

私はそれをテストし、それは私の疑いを確認し、エラーが要求が失敗した場合でもnilです。最初の作業は、削除しようとしている子IDが存在することを確認することです(*正しいIDを提供している)。これはfirebaseの不具合のようです。それにもかかわらず、正しいパスを使用している場合は、ノードを削除しても問題はありません。

オープンFirebaseコンソールを確認し、プロジェクト内のデータベースメニューを検索します。次に、REF_GROUPSであるノードを開き、内部に「子」とそのIDを表示する必要があります。これが表示されていない場合は、Firebaseの構造を反映するようにクエリを調整する必要があります。

編集 あなたのスクリーンショットが表示されませんでした。あなたの質問は間違っています。あなたは

DataService.instance.REF_GROUPS.child("your group id comes here").child("task").child(taskToDelete.id) 

参照を印刷してみてください、あなたは

https://yourappname.firebaseio.com/groups/-KzVm.../task/-KZvp... 
+0

はい、それが問題だったを取得する必要がありますする必要があります。 Thanx – Oscar

関連する問題