Firebase自动订购没有优先权?

时间:2014-05-31 06:57:56

标签: ios objective-c firebase

我尝试使用优先级密钥订购数据。我只把优先权放在" list"如下图所示。

这是与我的代码类似的示例

[listRef observeEventType:FEventTypeChildAdded andPreviousSiblingNameWithBlock:^(FDataSnapshot *snapshot, NSString *prevName) {

    //get listID
    NSString* listID = snapshot.name;

    //get detail for list
    [[detailRef childByAppendingPath:listID] observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
        NSString* text = snapshot.value[@"listtext"];
        ・
        ・
      }];
}];

它正常工作。显示订单列表。

但是在引用下面的用户数据时我遇到了问题。

[listRef observeEventType:FEventTypeChildAdded andPreviousSiblingNameWithBlock:^(FDataSnapshot *snapshot, NSString *prevName) {

    //get listID
    NSString* listID = snapshot.name;

    //get detail for list
    [[detailRef childByAppendingPath:listID] observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
        NSString* text = snapshot.value[@"listtext"];
        NSString* userID = snapshot.value[@"user"];
        ・
        ・
       //added code
        Firebase* userRef = [[self.firebase childByAppendingPath:@"person"] childByAppendingPath:userID];
        [userRef observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
                avatarImageURL = snapshot.value[@"image"];
                username = snapshot.value[@"name"];
                ・

            }];

      }];
}];

此代码不按listRef优先级返回有序数据。这似乎是userRef的订单,但它没有优先权。

这是json数据。

"person" : {
 "1321312" : {
  "uid" : "1321312",
  "name" : "testuser",
  "image" : "http://test.png"
 },
 "3243121" : {
  "uid" : "3243121",
  "name" : "testuser2",
  "image" : "http://test.png"
 }
"list" : {
 "-JOFBZ6YFFdRfBNEe-DV" : {
   ".value" : true,
   ".priority" :1.401504809514409E12
 },
 "-JOFJTOnwADzfZmY0fMl" : {
   ".value" : true,
   ".priority" : 1.401506883247231E12
 },

我想按照列表的优先顺序订购数据。我定义" list"和"人"节点如下

[listRef setValue:@YES andPriority:ts];

[[[rootRef childByAppendingPath:@"person"] childByAppendingPath:userID] setValue:@{@"uid":userID, @"image":image, @"name":name}];

我不明白为什么数据是根据“#34; person"没有优先权" list"优先级。

任何人都有任何想法??

0 个答案:

没有答案