2016-07-17 76 views
1

如何創建的火力3.0數組和執行附加的功能和陣列創建和附加在陣列火力地堡-IOS-迅速

中刪除這是數據結構我在尋找: -

1-UserIds 
    --0.) 12345 
    --1.) 678910 
    --2.) 1112131415 
2-UserProfile 
    --0.) 12345 
     -0.) userName : "Rayega" 
     -1.) friends : ["Julian","Mary","Powers"] 
    --1.) 678910 
     -0.) userName : "Morse" 
     -1.) friends : ["Polme","Mary","Finn"] 
    --2.) 1112131415 
     -0.) userName : "Tanya" 
     -1.) friends : ["Ester","Hulio","Julian"] 

我想創建一個像UserIds這樣的數組,並像我的用戶配置文件的每個孩子的朋友一樣,並且能夠追加和刪除這些數組中的數據。我知道如何創建一個字典,但我將如何去存儲該字典中的數組,並能夠執行附加和刪除功能。

我正在存儲UserIds數組,因爲我需要顯示每個用戶在tableView中的信息。

回答

2

Firebase中沒有對數組的本機支持。但是,您可以將對象作爲以整數爲鍵的字典進行存儲,併爲存儲的每個對象遞增鍵。然後,當您從Firebase讀取數據時,服務器將爲您呈現數據。

+0

其實我認爲我們可以以四種形式存儲我們的數據--https://firebase.google.com/docs/database/ios/save-data也許我錯了...... – Dravidian

+1

這是一個鏈接,解釋Firebase中的陣列,以及爲什麼沒有對數組的本機支持。[最佳實踐:Firebase中的陣列](https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html) –

3

由Ivan提供的鏈接解釋說,在多個用戶同時添加/更改數據的數據庫中,數組很少是個好主意。似乎也沒有必要將朋友列表存儲爲數組。將其存儲爲用戶標識集實際上更有效。這樣,您可以自動保證每個用戶ID只能在該設置中一次。

Users: { 
    12345: "Rayega", 
    67890: "Morse", 
    24680: "Tanya", 
    13579: "Julian", 
    86420: "Mary", 
    97531: "Powers" 
}, 
UserFriends: { 
    12345: { 
     13579: true, 
     86420: true, 
     97531: true 
    }, 
    67890: { 
     86420: true, 
     24680: true, 
     97531: true 
    } 
} 

這最後的結構被稱爲指數creating data that scales下覆蓋的火力地堡文檔。

+0

你追加/ addObject到這個字典(UserFriends/12345),我怎麼能檢索我的用戶的userId實際上是字典鍵到另一個字典(基本上我怎麼能得到'12345','67890' ....和將它附加在本地數組中..或任何其他..)。 – Dravidian