WDGDataSnapshot 编辑文档

WDGDataSnapshot 是当前指定节点下数据的快照,WDGDataSnapshot 不会随当前节点数据的变化而发生改变。
我们无法直接创建这个对象,而应当在 [WDGSyncReference observeEventType:withBlock:][WDGSyncReference observeSingleEventOfType:withBlock:] 的回调函数中获取它。

属性

value

定义

Swift
var value: Any? { get }

Objective-C
@property (readonly, strong, nonatomic, nullable) id value;

说明

当前数据快照包含的数据。数据类型取决于节点下的数据内容。

可能返回的数据类型包括:

  • NSDictionary
  • NSArray
  • NSNumber (包含 BOOL 类型)
  • NSString



childrenCount

定义

Swift
var childrenCount: UInt { get }

Objective-C
@property (readonly, nonatomic) NSUInteger childrenCount;

说明

WDGDataSnapshot 的子节点的总数。



ref

定义

Swift
var ref: WDGSyncReference { get }

Objective-C
@property (readonly, strong, nonatomic) WDGSyncReference *ref;

说明

当前数据快照所关联的 WDGSyncReference 实例。



key

定义

Swift
var key: String { get }

Objective-C
@property (readonly, strong, nonatomic) NSString *key;

说明

当前 WDGDataSnapshot 所属节点的 key。



children

定义

Swift
var children: NSEnumerator { get }

Objective-C
@property (readonly, strong, nonatomic) NSEnumerator<WDGDataSnapshot *> *children;

说明

当前 WDGDataSnapshot 中,所有子节点的迭代器。
例如:

for (WDGDataSnapshot *child in snapshot.children) {
...
}



priority

定义

Swift
var priority: Any? { get }

Objective-C
@property (readonly, strong, nonatomic, nullable) id priority;

说明

当前节点的 priority 值。优先级不存在时为 nil。



方法

- childSnapshotForPath:

定义

Swift
func childSnapshot(forPath childPathString: String) -> WDGDataSnapshot

Objective-C
- (WDGDataSnapshot *)childSnapshotForPath:(NSString *)childPathString;

说明

根据相对路径,来获取当前节点下子节点的数据快照。
相对路径可以是一个字节点的 key 值(例如:Beijing),也可以是更深层次的路径(例如:Beijing/pm25)。
如果相对路径下并没有数据,则返回 nil。
根据指定的相对路径,来获取当前节点下的 WDGDataSnapshot

参数
参数名 说明
childPathString 节点数据的相对路径,多层级间需要使用 / 分隔。
返回值

WDGDataSnapshot 实例。



- hasChild:

定义

Swift
func hasChild(_ childPathString: String) -> Bool

Objective-C
- (BOOL)hasChild:(NSString *)childPathString;

说明

判断是否存在某个指定的子节点。如果指定节点下的数据不为空,则返回 YES。

参数
参数名 说明
childPathString 相对路径
返回值

如果指定路径下存在子节点,返回 YES,否则返回 NO。



- hasChildren

定义

Swift
func hasChildren() -> Bool

Objective-C
- (BOOL)hasChildren;

说明

如果 WDGDataSnapshot 存在子节点返回 YES,否则返回 NO。
你可以通过使用 hasChildren 方法来确定当前的数据快照是否含有子节点,进而决定是否利用 children 属性遍历数据。

返回值

如果 WDGDataSnapshot 存在子节点返回 YES,否则返回 NO。



- exists

定义

Swift
func exists() -> Bool

Objective-C
- (BOOL)exists;

说明

判断当前 WDGDataSnapshot 实例中是否包含数据。使用 exists 方法进行非空判断比 snapshot.value != nil 更高效。

返回值

如果 WDGDataSnapshot 包含非空数据,返回 YES。



- valueInExportFormat

定义

Swift
func valueInExportFormat() -> Any?

Objective-C
- (id _Nullable)valueInExportFormat;

说明

WDGDataSnapshot 中的全部内容导出。
valueInExportFormat 方法和 value 方法类似,都可以导出数据。但是当节点的 priority 值不为空时,valueInExportFormat 会导出包含 priority 的数据,适合用于备份。

野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题