2016-11-07 89 views
0

我想知道,對於諸如identiconsgravatar之類的東西,最好的辦法是在swift中將其存儲到Firebase中並將其分配爲profileImage。在Firebase中隨機的個人資料圖片

我想出了其他的事情,將是使圖像的URL-S的陣列和註冊時,隨機選擇一個URL並儲存起來。可以做嗎?

你們可以導致我正確的方向?

回答

1

我不建議你在一次特別舉行所有這些數據,如果你最終有多個圖像。我建議以下

單一的gravatar

只要所有新手的輪廓影像分配給這一個。您甚至可以繼續將其存儲在您的應用程序中,因此不需要Firebase呼叫或內存消耗。

功能依賴

嘗試根據用戶的特定的固定/實際特性分配gravatars。性別是最好的,因爲它的二進制。 Facebook使用時沒有輪廓的圖像由用戶添加的相同的方法。如果您選擇這種方法,火力地堡是不是真的需要

動態

多個默認提供和開放,以進一步增加化身。我的猜測是你對這個感興趣。

  1. 用戶選擇

讓所有存儲在火力地堡的頭像和簡單的讓用戶選擇最能打動他們。

既然你在未來增加更多的頭像,然後我對裝載倒是建議所有的化身一次。對於內存優化,

  • 查詢前10個頭像和將它們展示給用戶
  • 如果用戶沒有選擇的頭像,讓我們說他們是3/4通過已經加載的圖片,再查詢10個頭像。

這種方法是非常內存友好的,它不會用太多的信息壓倒用戶。

  • 隨機選擇
  • 具有存儲在火力地堡存儲空間中的化身,但也包括在火力地堡數據庫的節點追蹤可用的化身的數量。對於這種情況,可以稱之爲total。隨着這個,我會在我的頭像節點中有一個數字字符串到頭像網址映射。我的結構將類似於此

    { 
        "avatars": 
        { 
        "total":10, 
        "1":"https://www.google.com", 
        "2":"https://www.facebook.com", 
        "3":"https://www.youtube.com" 
        } 
    } 
    

    這引出了一個問題,東西我怎麼隨機查詢替身?

    呃.. huuh

    • 查詢火力地堡獲得的化身的數量,您目前擁有
    • 生成一個隨機整數;說x其中堅持1<=x<=total
    • 轉換x爲字符串;​​
    • 查詢火力地堡其中avatars.id == y,瞧你有imageURL
    • imageURL

    這樣做的缺點是,用戶沒有控制,他們應該恨他們的頭像下載圖像沒有什麼可以做關於它。

    好處是,在任何特定的時刻,你是不是加載內存中的所有圖像。

    +0

    太棒了!你給了絕對完美的答案,這應該不難。爲什麼我想要實現這一點,我不想看到大量用戶具有完全相同的配置文件圖像,將很高興至少識別其中的一些,因爲在我的項目中,我不在乎用戶的性別是男性或女性,我需要其他解決方案。 –

    +0

    @TarvoMäesepp很樂意提供幫助。 – eshirima

    相關問題