Does anyone have any experience using the CloudKit option for DeleteSelf for CKReference ? Here is what I got from the docs:
DeleteSelf
Delete action for reference records. When a record is deleted, all records containing CKReference objects pointing to this record are deleted. Deleting additional records can cause cascading deletion of more records. Deletions are asynchronous in the default zone and immediately in the user zone.
So, I tested this, I created several CKReference objects CKReference both CloudKit Dashboard and my application. Whenever I do this with my application, I create a link like this:
let reference:CKReference = CKReference(recordID: savedFriend.friendID, action: CKReferenceAction.DeleteSelf)
I know that he is assigned to delete himself, because the option is displayed on the control panel: 
I have to do something wrong, because whenever I go and manually delete this entry referenced using the dashboard, or install my application to remove it programmatically, the entry disappears, but the link is never deleted. I thought, maybe I should just wait, and this will happen in the end, but after a few hours they still checked there, as if he had to leave. This is disappointing because I developed part of my code, assuming it would work, now I may have an application that wastes resources trying to find a CKRecord that no longer exists. Should I just not rely on it to ever work? I appreciate any help or advice I can get.
UPDATE ~ 04/07/2016
I jumped up a gun coming back here and posted an update that the problem itself resolved. I was not completely convinced that the problem would not appear, so I was looking for some confidence last night. I created 5 different CKRecords and created various different CKReference objects to reference them in my database. Then I set about setting the CKReferenceAction.DeleteSelf option for each link (I tried two manually through the control panel and the other three programmatically). In any case, I waited a few minutes and then deleted the link entries ... after ten minutes all the links remained. I waited another 5-10 minutes, and they were still there, so I went to bed, believing that they should definitely leave by morning, right? Wrong! Twelve hours later, the CKReference entries are still present, and the referenced entries still disappeared. I am definitely scratching my head, it seems like this is a bug with CloudKit . I should mention that I also noticed some strange behavior on my dashboard. Over the past four or so days, in the lower left corner, he has consistently said that this is "Reindexing development data", here is a photo, for example: 
Could this be the cause of this problem? Anyone familiar with this problem and know a way to solve this problem? We appreciate any suggestions. I published a bug report with Apple.