0
サーバから情報を取得する必要があります。
そしてCoreDataを使用してそれらを保存する必要があります。
同じ属性を持つ同じレコードが複数回保存されるという問題があります。
新しいレコードだけをCoreDataに保存し、既存のレコードを更新したいとします。
Swiftを使用してCoreDataで新しいレコードを作成するのではなく、エンティティレコードを更新する
func saveChanges() throws {
var error: ErrorType?
mainQueueContext.performBlockAndWait() {
if self.mainQueueContext.hasChanges {
do {
try self.mainQueueContext.save()
} catch let saveError {
error = saveError
}
}
}
if let error = error {
throw error
}
}
func fetchRecentPosts(completion completion: (PostResult) -> Void){
.
.
.
do{
try self.coreDataStack.saveChanges()
print("now data is saved in this device")
}
catch let error {
result = .Failure(error)
}
.
.
.
}
私の考えはid
が保存されたかどうかを確認することです。私が別のレコードを追加する前に保存されていた場合。それでは、どうすれば既存のものを更新できますか? この問題を解決するには良い方法ですか?
https://stackoverflow.com/a/38459233/5461400 @آژانسکتاب –