2012-12-13 51 views
2

我目前正在開發一個使用核心數據並希望使用iCloud的應用程序。我有一個問題 - 我的應用程序有一個簡介實體,其中的一切都落在它的後面。Core-Data&iCloud每個實體的項目數量限制 - 潛在同步問題

我想與iCloud同步,因此它也可以與iPad等其他設備一起使用。我有一個問題,但是在下面的場景描述:

方案1

用戶使用他們的iPhone我的應用程序。創建一個配置文件並使用它一段時間。 然後他們得到一個iPad,第一次使用我的應用程序沒有網絡 - 應用程序將他們提示他們創建一個配置文件。 (用戶沒有真正想過已經這樣做了)。然後他們在網絡中第二天打開應用程序 - 他們現在是我的個人資料實體中的2個對象,有效地爲同一個人。

我該如何解決這種情況?下面是一些想法,但我有點疑惑的地方繼續

  • 選項1是檢查它們已經啓用iCloud的 - 和提示他們有 他們之前使用此應用的?
  • 選項2觀看配置文件對象,合併兩個在一起(危險 移動)
  • 選項3不要使用iCloud的 - (不要真正想要做到這一點)

任何提示或想法將是巨大的。

+0

我不認爲這是一個乾淨的答案 - 這是我一直在努力 - 但我全部耳朵... –

+0

嗯同樣 - 我花了一段時間繪製出想法.. – Dan

回答

0

你可以通過避免使用刪除可用於核心數據的方法在外形實體插入重複記錄。在配置文件實體調用delete中插入數據之前,將刪除重複條目並插入新條目。

+0

感謝您的回覆。這個* some *記錄的問題可能會在中間丟失。據我所知,你無法對iCloud的合併事件發表意見嗎? – Dan

+0

如何保留最近編輯過的副本?這肯定是用戶想要堅持的。 – beev

0

你真的想要處理#2。除了您概述的情況之外,還有其他兩種設備可能會失去同步的其他方式。這就是說,在檢測兩組競爭數據時,可以詢問用戶要保留哪一個。儘管如此,這種方式非常用戶友好 - 人們通常不喜歡做出涉及摧毀一堆新創建數據的選擇。

+0

謝謝。任何想法如何使用iCloud處理這個問題? – Dan

+0

您是否可以編寫代碼,當它看到兩個配置文件實體時,按屬性進行屬性合併以根據需要進行合併?或者創建一個UI以允許用戶選擇? – Hunter