2016-07-30 5 views
3

Die Frage ist, Daten von Benutzerdatensätzen abzurufen, wenn UserRecordID abgerufen wird.Abrufen von CloudKit Benutzerdatensatz mit UserRecordID

Methode Benutzer-ID zu erhalten: post.creatorUserRecordID .recordName

Mein Benutzerdatensatztyp enthält Spalten wie Benutzernamen, so, ich brauche sie für einen konkreten Benutzer zu analysieren?. Ist es irgendwie möglich?

Antwort

1

Wenn ich Ihre Frage verstanden habe und Sie bereits eine CKRecordID haben. Alles, was Sie tun müssen, ist, mit dieser CKRecordID fetchRecordWithID zu holen.

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") 
     } 
    } 
})