0

CKSubscription を使用して変更をサブスクライブしようとしています。私は非常に一般的で不完全なAppleのドキュメントに従っています。 Apple ドキュメントへのリンク

didReceiveRemoteNotificationメソッドを介して自分のアプリに送信された Record ID を取得するポイントがあり、次のAppDelegateコードを使用して Record Id: を取得しています。

func application(application: NSApplication, didReceiveRemoteNotification userInfo: [String : AnyObject]) {
        let cknNotification = CKNotification(fromRemoteNotificationDictionary: userInfo as! [String:NSObject])

        if cknNotification.notificationType == .Query,
            let queryNotification = cknNotification as? CKQueryNotification {
            let recordId = queryNotification.recordID
            print(recordId)
        }

CKNotification を Cloudkit に保存する実際のオブジェクトに変換するにはどうすればよいですか? 別のフェッチを実行する必要がありますか、それともキャストする必要がある CKNotification に含まれるデータですか。

4

1 に答える 1

0

私はそれを解決したように見えます。

通知は、それらが変更されたことを知らせるだけです。新しいレコードを取得して更新する作業を行う必要があります。(本当に理にかなっている)

privateCloudDatabase().fetchRecordWithID(recordId!, completionHandler: { (recordfetched、エラー) in

            //Check the Record Type if multiple.. I only have one type.
   let myRecordType = recordfetched?.recordType
            let myObject = mySuperObject(record: recordfetched!)
            print("done")
        })

// オプションのチェックを追加する必要があるかもしれませんが、上記は解決策と取得がいかに簡単かを示しているだけです。

于 2016-08-17T13:20:56.893 に答える