apple / apple/sample-cloudkit-sync-engine
var listID: String
- Dominant language
- Swift
- Stars
- 270
- Forks
- 15
- PR merge metrics
- No merged PRs in 30d
Description
### In ContactsList.swift extension Contact
`// In order for the list to update properly when fetch changes from the cloud, we need to use something other than the contact ID for the list item ID.`
`var listID: String { "\(self.id)\(Self.listIDSeparator)\(self.name)" }`
The problem with this approach is when you start adding more fields to Contact. Your approach doesn't guarantee updates when changes are fetched.
I propose changing to the following:
`var listID: String { "\(self.id)\(Self.listIDSeparator)\(self.userModificationDate)" }`
In my testing, this solves all update issues regardless of adding fields to Contact.
Thoughts?
Contributor guide
No contributing guide indexed for this repository
Research direction
Open ContactsList.swift and inspect the Contact extension and current listID implementation. Update the list identifier as proposed, then verify that cloud-fetched changes update list items when fields beyond the contact name change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 42/100