2016-08-17 3 views
0

변경 사항을 구독하려면 CKSubscription을 사용하려고합니다. 매우 일반적이며 불완전한 것으로 보이는 Apple의 문서를 따라하고 있습니다. Link to Apple DocCloudKit OSX의 레코드 ID에서 실제 개체 가져 오기

나는 레코드 ID가 AppDelegatedidReceiveRemoteNotification 방법을 통해 내 응용 프로그램에 전송하기의 점을 가지고있다 그리고 나는 나의 기록 아이디 가지고있다 : 나는 CKNotification을 변환하려면 어떻게

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에 포함 된 데이터입니까?

답변

0

나는 그것을 해결 한 것처럼 보입니다.

통지 만 변경되었음을 알립니다. 새 레코드를 가져 와서 업데이트하려면 작업을 수행해야합니다. . - 바로 솔루션을 보여 위에 있지만

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

의 {(recordfetched, 오류) // 내가 아마 더 선택적인 검사를 추가해야합니다 :

privateCloudDatabase() fetchRecordWithID (recordId를! completionHandler가 (감 정말 만든다) 그리고 그것이 얼마나 간단한 지 알 것입니다.