1

私はこの木を持っています:

root/companyId/customers および root/companyId/orders

そしてそれ以下の3人の顧客、のように

ルート/companyId/customers/IdCustomer/CustomerData

私はすべてのイベントに添付します:

[sharedInstance.root observeEventType:FEventTypeChildChanged withBlock:^(FDataSnapshot *snapshot) {
    NSLog(@"Data get: %@", snapshot.value);
}];
[sharedInstance.root observeEventType:FEventTypeChildRemoved withBlock:^(FDataSnapshot *snapshot) {
    NSLog(@"Removed: %@", snapshot.value);
}];
[sharedInstance.root observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) {
    NSLog(@"Added: %@", snapshot.value);
}];

ルート/会社で。

テーブルがいつ変更され、どのレコードが変更されるかを知る必要があります。

ただし、FEventTypeChildChanged顧客が 1 人だけ変更された場合でも、完全なサブツリーを入手してください。FEventTypeChildRemoved単一の顧客を削除するときではなく、顧客ツリーを削除する場合にのみ発生します。FEventTypeChildChanged削除されたときに発火しますが、削除されたレコードは表示しませんが、削除されたレコードのない完全なサブツリーを表示します。新しいレコードを追加するときにも発火しますがFEventTypeChildAdded、発火しません。

「顧客」ツリーのみを監視して 1 つの値を変更すると、FEventTypeChildChanged で顧客のリスト全体を取得します。変更する単一のレコードのみが必要です。

だから、これをどのように配線するか理解していないことは明らかです。追加、変更、削除イベントのレコードごとにテーブルごとに通知を受け取り、サブツリー全体を取得せず、既に同期されているデータを再処理したい (firebase ダッシュボードの動作方法と同様)。

4

1 に答える 1