ios - 使用 UserRecordID 获取 CloudKit 用户记录

标签 ios iphone database swift cloudkit

问题是在获取 UserRecordID 时从 User Records 中获取数据。

获取用户ID的方法: post.creatorUserRecordID?.recordName

我的用户记录类型包含用户名等列,因此,我需要为具体用户解析它们。有可能吗?

最佳答案

如果我理解你的问题并且你已经有一个 CKRecordID。然后您所要做的就是使用您获得的这个 CKRecordID 获取 RecordWithID。

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

关于ios - 使用 UserRecordID 获取 CloudKit 用户记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38674560/

相关文章:

iphone - 以编程方式编写 UIButton 操作代码

MySql phpMyAdmin : Replicating/Synchronizng two Database automatically

sql - 从存储过程 catch block 处理死锁重试是个好主意吗

php - MySQL:从不同的表中删除表行

ios - 在 for 循环中使用 block 进行快速枚举的错误

ios - 从 WatchKit 触发 UILocalNotification

ios - 从键值对数组创建键数组

ios - 将我下载的字体设置为粗体

iphone - XCode 3.2.4 升级后做逻辑测试的问题

iphone - 动画不适用于 iPad。在iphone上同样有效