2016-08-17 68 views
0

我正在嘗試使用CKSubscription來訂閱更改。我正在關注蘋果公司的文檔,這些文檔看起來非常普遍且不完整。 Link to Apple DocCloudKit從OSX中的記錄ID獲取實際對象

我已經得到了越來越記錄ID在AppDelegate通過didReceiveRemoteNotification方法發送到我的應用程序的地步,我已經得到了我的記錄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中存儲的實際對象中?我是否需要執行另一次獲取,或者是我需要Cast的CKNotification中包含的數據。

回答

0

看起來像我這樣做了。

通知只會讓你知道他們已經改變了。您需要完成這項工作來提取新記錄並進行更新。 (有道理真的)

privateCloudDatabase()fetchRecordWithID(的recordId!completionHandler:{(recordfetched,在

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

錯誤)//我也許應該增加更多的可選檢查 - 但上述只是說明了解決方案。並且它是多麼容易得到。

相關問題