0
我對應用程序開發和核心數據相對來說比較陌生,因此對我來說很簡單。我一直在研究一個應用程序(目前用於iOS,未來也是android),它使用核心數據在本地存儲用戶數據。 數據具有跨實體的關係。用戶可以創建,更新,刪除數據。支持離線和關係支持的跨平臺同步解決方案
現在我需要集成某種同步解決方案。我的要求是:
- 數據應該離線訪問(現在我正在測試該隊列操作)
- 數據應同步到雲存儲,當網絡可用(iOS上我已經測試了可達性本)
- 雲存儲需要整合到我目前的iOS和未來的android版本。
- 需要維護關係(或者其他連接父母子女的方式,我稍後再談)。
- 應使用ios上的核心數據,而不是第三方替換。
我與迄今許多解決方案圍繞搞砸:
- 我安裝一個服務器上我自己rethinkdb數據庫和PHP使用和REST來得到的東西去。這非常混亂。
- 我測試了parse.com和網上http請求(而不是解析庫) - 這是更好的,但我似乎無法管理從核心數據的關係。我的同步算法是複雜的(它可以工作,但我不確定是否有漏洞,當它可能失敗)
- 我測試了dropbox數據存儲api。我只測試了他們提供的iOS示例應用程序,看起來相當不錯(仍然需要了解工作原理)。
我的問題是:
- 如果我使用Dropbox的數據存儲API,它是如何與Android合作?當然核心數據在那裏不可用,那麼如何工作(對不起,我還沒有Android開發經驗)?它是如何處理實體之間的關係?
- 如果我去Parse.com,你認爲我的這個想法會起作用嗎? 而不是使用關係,我可以使用標識符?我的關係都是一對多的,所以在家長(1)我可以有一個ID A.在所有的孩子,我可以指出他們的父母A也因爲我的孩子也可以有孫輩,每個孩子我可以有另一個孫輩可以指出的ID。那麼......這是否有意義作爲關係的替代?如果是的話,那麼xcode中的關係是什麼?也許有自動級聯選項。
- 有沒有更好的解決方案可用於同步跨平臺?
我知道我的問題似乎有點問意見,但我想看看其他人已經嘗試過。過去一週從一種解決方案切換到另一種解決方案,並且設計同步算法已經讓我的大腦油然而生
感謝您的迴應!核心數據是一個需求,因爲我已經花了一個月的工作在這個應用程序。所以我真的不想改變我的架構。另外核心數據和NSFetchRequestController似乎與我的表視圖非常完美地工作。所以我需要保持它的位置。 Dropbox如何處理數據呢?我看了一下示例「toado」應用程序,我注意到了一些nsfetchrequest和那裏的東西,所以我認爲它使用了核心數據?沒有? – 2014-11-09 08:47:52
不,數據存儲API不使用核心數據。在底層,它將數據的本地緩存存儲在它自己的sqlite數據庫中,並使用異步操作隊列來向服務器傳達增量。 – smarx 2014-11-09 09:00:50
哦,好的。我猜dropbox對我來說不是一種選擇,那麼:( – 2014-11-09 09:03:46