2016-07-30 128 views
3

问题是在获取UserRecordID时从用户记录中获取数据。使用UserRecordID获取CloudKit用户记录

方法来获得用户ID: post.creatorUserRecordID .recordName

我的用户记录类型包含了诸如用户名列,所以,我需要分析他们的具体用户?以某种方式可能吗?

回答

1

如果我理解你的问题,并且你已经有一个CKRecordID。你所要做的就是使用你得到的这个CKRecordID来获取RecordRecordWithID。

let publicDatabase = CKContainer.defaultContainer().publicCloudDatabase 
publicDatabase.fetchRecordWithID(recordId, completionHandler: { (fetchRecord: CKRecord?, fetchError: NSError?) in 
    if let error = fetchError 
    { 
     // error getting user record, try again 
     print("-> cloudKitFetchUserRecord - error fetching user record - Error \(error)") 
    } 
    else 
    { 
     if let record = fetchRecord 
     { 
      if record.recordType == CKRecordTypeUserRecord 
      { 
       // valid record 
       print("-> cloudKitFetchUserRecord - fetching user record - valid record found - \(record.recordID.recordName))") 

       // unwrap your values - on your case username 
       if let object = record.objectForKey("username") as? Bool 
       { 
        // do something with object 
       } 

      } 
      else 
      { 
       // not valid record 
       print("-> cloudKitFetchUserRecord - fetching user record - The record that came back is not a CKRecordTypeUserRecord") 
      } 
     } 
     else 
     { 
      // record nil 
      print("-> cloudKitFetchUserRecord - fetching user record - fetch record returned nil") 
     } 
    } 
})