0
私は既存のサブスクリプションの述語を、彼が作成しようとしているサブスクリプションと比較しようとしています。同じサブスクリプションを2回作成しないようにするだけです。Cloudkitのサブスクリプションを比較してください
しかし、私のif subscription.predicate! == predicate always
戻りfalse
マイ述語:
var predicate = NSPredicate()
predicate = NSPredicate(format:"validUserIDs CONTAINS %@ AND expiryDate > %@ AND NOT(invalidUserIDs CONTAINS %@)", userCloudID!, dateNow, userCloudID!)
マイフェッチsubscrition方法
publicDatabase.fetchAllSubscriptionsWithCompletionHandler { (subscriptions: [CKSubscription]?, error: NSError?) in
if error != nil
{
print("-> cloudKitSubscribeToChat - fetch subscription error")
}
else
{
print("-> cloudKitSubscribeToChat - fetch subscription no error")
if subscriptions?.count == 0
{
print("-> cloudKitSubscribeToChat - subscription count = 0, create")
subscribe()
}
else
{
print("-> cloudKitSubscribeToChat - subscription count > 0, create")
var exists = false
for subscription in subscriptions!
{
if subscription.predicate == predicate
{
print("-> cloudKitSubscribeToChat - subscription count > 0, true")
exists = true
}
else
{
print("-> cloudKitSubscribeToChat - subscription count > 0, false")
exists = false
}
}
if exists == false
{
print("-> cloudKitSubscribeToChat - subscription do not exists, create")
subscribe()
}
else
{
print("-> cloudKitSubscribeToChat - subscription already exists")
result(error: nil)
}
}
}
}