2016-03-01 117 views
0

我想知道如何在從firebase檢索數據後檢查數組是否包含某個值。我檢索數據並將其存儲在數組中,如下所示:檢查數組是否包含某個對象

[self.firebase2 observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot){ 

    if (newMessagesOnTop) { 
     [self.chat2 insertObject:snapshot.value atIndex:0]; 
    } else { 
     [self.chat2 addObject:snapshot.value]; 
    } 

從這裏我想檢查數組chat2中是否有特定的對象。而且我也想知道我應該採用哪種方法。

任何幫助將不勝感激。

+0

下面的答案是正確的。至於放入哪種方法,當你想要查看對象(基於用戶操作?定時?)時,這真的很重要,但重要的是,您的代碼將被調用一次節點在前面,然後在添加子節點時再次調用。在所有子對象的塊完成之後,在第一次調用該方法時,您不應該查找數組中的對象。您可能需要對這些對象進行計數以確定何時完成,或者可能使用.Value,以便一次加載它們。 – Jay

回答

1

在Objective-C這是代碼

NSArray * list = @[@(1),@(2),@(3)]; 
if ([list containsObject:@(2)]) { 
    NSLog(@"Yes"); 
} else { 
    NSLog(@"No"); 
} 
+0

如果我使用防火底座,應該使用什麼方法? –

+0

@TejasBadani:請說明你需要知道的內容 –

0

如果你想知道你是否客服2已經包含了對象檢索你應該使用containObject()檢查對象存在

BOOL isPresent = [self.chat2 containsObject:snapshot.value];

如果您使用firebase或其他任何您將對象存儲在所有操作所需的數組中,則無關緊要。

0
if ([self.chat2 containsObject:snapshot.value]) { 
    [self.chat2 insertObject:snapshot.value atIndex:0]; 
} else { 
    [self.chat2 addObject:snapshot.value]; 
} 
[self setNeedsDisplay]; 
[tableView reloadData]; 
相關問題