0
我有一個表有3個文本字段和圖像(CKAsset)。圖像很大。我想查詢表格,只接收2個文本字段而不下載圖片。有沒有辦法指定我只想要2個文本字段?cloudkit - 我不希望與我的表的圖像下載
這是我使用的代碼:
let predicate = NSPredicate(format: "CloudID = %@", tempCloudID)
let query = CKQuery(recordType: "Images", predicate: predicate)
query.sortDescriptors = [NSSortDescriptor(key: "Field1", ascending: true)]
query.sortDescriptors = [NSSortDescriptor(key: "Field2", ascending: true)]
仍然無法查詢的表,他們店雖然與參考正常,當我刪除所屬表中刪除。
func test() {
//This works for storing my images, and I can delete the parent and it successfully removes all images. That’s what I want.
let parentId = CKRecordID(recordName: uploadList[uploadRecord].CloudID)
let parent = CKReference(recordID: parentId, action: CKReferenceAction.DeleteSelf)
let outputPath = NSHomeDirectory().stringByAppendingString("/Library/Pictures/" + uploadList[uploadRecord].File)
let File: CKAsset? = CKAsset(fileURL: NSURL(fileURLWithPath: outputPath))
let imageRecord = CKRecord(recordType: "Images")
imageRecord.setObject(uploadList[uploadRecord].R, forKey: "R")
imageRecord.setObject(uploadList[uploadRecord].A, forKey: "A")
imageRecord.setObject(parent, forKey: "Reference")
imageRecord.setValue(File, forKey: "Image")
publicDB.saveRecord(imageRecord, completionHandler: ({returnRecord, error in
if let err = error {
self.notifyUser("Save Image Error", message:
err.localizedDescription)
print("Image Upload Error")
} else {
dispatch_async(dispatch_get_main_queue()) {
print("Image Sent Successfully")
// Mark image to be deleted?
}
}
}))
}
我試過通過addoperation查詢並執行查詢。我做錯了什麼,不確定它是什麼。
我只有2個表,現在,我還沒有建立起來使用CKReference現在,我設置的第二個表「CloudID」成爲第一張表中的ID。我看了一下CKReference,但不理解文檔以使其工作,並找不到一個好例子。我不想在沒有使用正確的CKReference的情況下添加另一個表格,因爲我將不得不跟蹤另一個「ID」。我這樣做後的下一步是獲取圖像,現在我只需要他們從中選擇的圖像列表。我將嘗試CKQueryOperation。我應該真的添加一個zoneID和CKReferences。 – Grumpy
我仍然無法找到在此表上設置CKReference的方法。 tempCloudID = 13886D9B-8389-4253-981D-51DCD573BA05並且應該是所有者。我將如何設置圖像表以引用該ID? – Grumpy
我使用CKQueryOperation修復了以前的錯誤。現在,我在嘗試打開圖像的下一個屏幕上出現錯誤。我正在使用let predicate = NSPredicate(格式:「recordID =%@」,myRecordID)。 myRecordID = 3F1CF4EC-95F4-4659-AA47-B00048B3BBAE。錯誤是:Field'__recordID'具有引用的值類型,無法使用過濾器值類型字符串查詢。 – Grumpy