我有一个OUP记录类型,它有一个对OU记录类型的.DeleteSelf引用。
如果我刚刚设置了一个无条件的订阅,那么工作
let subscriptionOUP = CKSubscription(recordType: "OUP", predicate:NSPredicate(value: true), subscriptionID: "oup", options: .FiresOnRecordUpdate)但条件 way 而非
let ekf = "oup-\(ou.recordID)"
let pr = NSPredicate(format: "ou = %@", CKReference(recordID: CKRecordID(recordName: organizationUser.recordID), action: .DeleteSelf))
let subscriptionOUP = CKSubscription(recordType: "OUP", predicate:pr, subscriptionID: ekf, options: .FiresOnRecordUpdate)
println("\(pr) \(ekf)")终端内容:
ou == <CKReference: 0x1558d3d0;51D56239-D68C-4E12-BD23-E4DCEF5721B7:(_defaultZone:__defaultOwner__)>
oup-51D56239-D68C-4E12-BD23-E4DCEF5721B7我的谓词或subscriptionID有什么问题?
发布于 2014-08-04 06:42:20
subscriptionID字符串太长了。
当你这样减少它的时候,它会起作用的:
let ekf = "oup-\((organizationUser.recordID as NSString).substringToIndex(7))"https://stackoverflow.com/questions/25107161
复制相似问题