1.What is the best way to link/store each User's info to a Post using CloudKit with CoreData?
- How can I make it that whenever the user changes their photo and I update the
UserInforecord, have all thePOSTmade by this user have the new updated photo?
.xcdataModel file has a Post entity
Post with the following attributes:
caption: String, image: binary Data, postID: String, postText: String, userID: String, username: String
I use the managedobjectContext method in SwiftUI to add Posts to the database like below.
post.username = cloudkitManager.currentUser?.name
post.userID = cloudkitManager.userDefaultsID
post.postText = self.viewModel.serialNumber
post.postID = UUID().uuidString
post.timestamp = Date()
if self.viewModel.imageData() != nil {
post.image = self.viewModel.imageData()
}
do {
if viewContext.hasChanges {
try viewContext.save()
self.viewModel.isLoading = false
self.presentationMode.wrappedValue.dismiss()
}
} catch {
self.viewModel.isLoading = false
let nsError = error as NSError
self.viewModel.errorMessage = error.localizedDescription
self.viewModel.showErrorAlert = true
fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
}
But when saving the UserInfo I use a normal CloudKit container.publicCloudDatabase.save method instead of using the managedObjectContext like above
Any Advise please help 😃