ios - 如何从 CKReference 对象中获取引用字符串

标签 ios swift cloudkit ckreference

我有两种记录类型:BooksAuthors。书籍有两个属性BookName(String) & AuthorName(CKReference)Authors 有一个属性 AuthorTitle(String)

我保存CKReference如下

let authorReference = CKReference(record: addBookViewController.authorTitle!, action: CKReferenceAction.DeleteSelf)

bookRecord.setObject(authorReference, forKey: "AuthorName")

我目前正在获取 CKReference 如下显示在表上

let authorReference = bookRecord.objectForKey("AuthorName") as! CKReference

let authorTitle = authorReference.recordID.recordName

cell.detailTextLabel?.text = authorTitle

在 tableview 单元格上,它显示 AuthorName 的记录 ID。相反,我想以字符串格式查看 AuthorName。我如何获得它?

最佳答案

您还可以使用CKFetchRecordsOperation

CKRecordID *recordID = [[CKRecordID alloc] initWithRecordName:@"firstRecordIDName"];
CKRecordID *recordID2 = [[CKRecordID alloc] initWithRecordName:@"secondRecordIDName"];
NSArray *arrayOfRecordIDs = @[recordID,recordID2];;
CKFetchRecordsOperation *fetchRecordsOperation = [[CKFetchRecordsOperation alloc]initWithRecordIDs:arrayOfRecordIDs];
fetchRecordsOperation.perRecordCompletionBlock = ^(CKRecord *record, CKRecordID *recordID, NSError *error) {
    if (error) {

        // handle error

    }else {

        // Successfull fetch, create data model

    }

};
fetchRecordsOperation.database = publicDatabase;
[fetchRecordsOperation start];

关于ios - 如何从 CKReference 对象中获取引用字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30539644/

相关文章:

android - websocket 是否专用于浏览器

ios - 为什么 IBAction 类型默认为 AnyObject?

ios - 在 Swift 2 中,如何将 JSON 数组转换为 [Int32]

ios - 如何初始化 Firestore 文档引用 Swift

swift - NSUbiquitousKeyValueStore 在 Watch OS 3.1.3 上不可用

ios - CKQueryOperation iOS 9仅可插入工作

ios - 解析问题 : Expected Identifier ios

iOS >> UITextView >> 自动 "Jump"到最后一行

ios - CoreLocation 在 Today Extension 中不起作用

swift/Cloudkit : Handling user-changes while pulling