I’ve been studying about CloudKit sharing and utilizing the code strategies in Apple’s CloudKitShare pattern venture present in Apple‘s.
Upon studying Apple inventory trip for CKFetchDatabaseChangesOperation and CKFetchRecordZoneChangesOperation, I began questioning why they use each these lessons. It appears solely utilizing CKFetchDatabaseChangesOperation could be sufficient. I believe they use CKFetchRecordZoneChangesOperation as a result of that pattern venture creates and deletes be numerous zones and likewise shares information to the shared database.
If I’m solely utilizing two customized zones, although I share information, which implies when a CKShare is accepted and the file zone it belongs to doesn’t exist within the shared database, then CloudKit robotically creates that file zone in that shared database, would I nonetheless want to make use of the CKFetchRecordZoneChangesOperation? The documentation for CKFetchDatabaseChangesOperation doesn’t say that CKFetchRecordZoneChangesOperation could be wanted if I exploit CKFetchDatabaseChangesOperation.
The reply to my query has to do with whether or not the CKFetchRecordZoneChangesOperation fetches information from each the non-public database and the shared database. I ponder whether the truth that CKFetchRecordZoneChangesOperation inherits from CKDatabaseOperation and is added to the queue of a CKDatabase essentially implies that it solely fetches information from that particular CKDatabase.
I did simply understand that the CKFetchDatabaseChangesOperation returns solely zone ids, and never any information or file ids. Which means I’ve to make use of the zone ids I get from that operation to be able to fetch information and file ids from the zones with these file ids. Can that solely be carried out with CKFetchRecordZoneChangesOperation? In that case, I nonetheless must know whether or not CKFetchRecordZoneChangesOperation fetches solely the information and file ids within the zone with the ids I offered my CKFetchRecordZoneChangesOperation with.