很抱歉,我找不到通俗易懂的英语答案,或者至少我看到的每个答案都假设我拥有一定数量的知识,而这些知识是我不应该拥有的。我只需要删除一个 CKSubscription
。我该怎么做呢?非常感谢所有提示和帮助。
最佳答案
假设您没有要删除的订阅的订阅ID,您应该首先获取所有订阅并找出要删除的订阅的订阅ID:
[[[CKContainer defaultContainer] publicCloudDatabase] fetchAllSubscriptionsWithCompletionHandler:^(NSArray<CKSubscription *> * _Nullable subscriptions, NSError * _Nullable error) {
if (!error) {
//do your logic to find out which subscription you want to delete, and get it's subscriptionID
} else {
//handle error
}
}];
然后,现在您已经有了 subscriptionID,只需将其删除即可:
CKModifySubscriptionsOperation *operation = [[CKModifySubscriptionsOperation alloc] initWithSubscriptionsToSave:nil subscriptionIDsToDelete:YOUR_SUBSCRIPTION_ID];
operation.modifySubscriptionsCompletionBlock = ^(NSArray <CKSubscription *> * __nullable savedSubscriptions, NSArray <NSString *> * __nullable deletedSubscriptionIDs, NSError * __nullable operationError) {
//handle the results when the operation has completed
};
[[[CKContainer defaultContainer] publicCloudDatabase] addOperation:operation];
不要忘记始终正确处理所有可能的错误。
关于ios - 我如何删除 Objective-c 中的 cksubscription?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37635492/