2016-03-02 35 views
1

我正在致力於iOS應用程序的更新,其中用戶可以看到不同的視頻,所以我也希望很快添加tvOS版本。簡單的方法來同步鍵值信息與SWIFT

我想添加一種方法來同步「」觀看的「狀態VideoObject。 我的VideoObject確實有一個VideoObject.id,我會添加一個VideoObject.watched_status作爲Bool現在我有不同的想法如何保存這些信息,也可能如果可能在tvOS上使用它們。

  1. 火力地堡 - 這將要求用戶創建一個登錄/我產生一個userkey,他可以與其他設備同步(輸入userkey其他設備),否則信息將只在一臺設備上可用。

  2. NSUserDefaults - 也許最簡單的方法,但不是很靈活。也不容易同步

  3. CloudKit - CloudKit可用於存儲這些信息(privat)並自動將這些信息同步到其他設備。

  4. JSON - 我可以在CloudKit/externalServer創建一個存儲爲文件JSON文件

是否有其他方式來實現這樣的事情?沒有建立自己的後端?
你會以這些方式之一(目前我認爲CloudKit會是最好的嗎?),如果是這樣的話,爲什麼會幫助我很多。

回答

1

嗨,從我的角度來看,它取決於同步的最終目的,如果你想同步簡單的數據,這是非常簡單和可靠的方式來使用CloudKit由於簡單的API和良好的文檔將展示如何在所有Apple設備上使用同步。

這個link包含很好的教程,展示瞭如何以正確的方式處理CloudKit

如果您想要一個非常複雜的解決方案,其中包含大量高度可定製的數據,則應使用自己的服務器來處理同步。

NSUserDefaults由於該類的目的,它不是設備之間同步數據的最佳方式。但是,如果你想使用小補丁,將保存對觀看此視頻。例如對於您:

NSUserDefaults.standardUserDefaults().setObject(Bool(false), forKey:"videoIsWached") 

var onoroff = NSUserDefaults.standardUserDefaults().objectForKey("videoIsWached") as Bool! 

JSON文件是很老派的方式,但它不是那麼靈活,因爲NSUserDefaults的CloudKit

還要考慮數據庫架構的使用,例如CoreData境界這是存儲,可以與其他設備通過REST服務同步本地修改好辦法。

由於缺少後端以及與多個Apple設備同步的選項,您在使用CloudKit時非常合適。

相關問題