2016-06-27 1 views
0

미안하지만 어리석은 질문입니다. 24 시간이 넘은 모든 레코드를 나열하고 싶습니다. 생성 날짜에 대한 쿼리 필드는 대시 보드에 설정됩니다. 나는이 코드를 가지고있다. 그러나 나는이 문제를두고 머리를 맞대고있는 것처럼 보이지 않는다. 이 코드를 가지고 24 시간보다 오래된 iCloudKit 레코드를 가져 오는 중

...

let container = CKContainer(identifier: "iCloud.blah") 
    let publicDB = container.publicCloudDatabase 
// 24 hours ago 
    let date = NSDate(timeInterval: -60.0 * 1440, sinceDate: NSDate()) 
    let predicate = NSPredicate(format: "creationDate < %@", date) 
    let query = CKQuery(recordType: "Collection", predicate: predicate) 

그러나 이것은 지난 24 시간에 생성 된 모든 레코드 저를 얻는다; 나는 그 (것)들을 원하지 않는다, 나는 24 시간보다는 오래되는 모든 기록을 원한다. 내 기록에는 하나의 필드 만 포함되며 이는 자산입니다. ... 그 부분에서 내 문제라고 생각하는

enter image description here

를 않습니다 유망 보이지 않는 배치하면 인덱스 크기 시작? 0 바이트?

답변

0

좋아, 내 문제에 대한 답을 찾은 것 같습니다. 이 코드는 좋습니다. 내 실수는 레코드를 선택할 때 레코드 ID 만 선택하는 실수였다. 메타 데이터도 선택해야했습니다.

readerOperation = CKQueryOperation (query : query) readerOperation.desiredKeys = [ "record.recordID.recordName", "record.creationDate"];

readerOperation.recordFetchedBlock = { (record) in 
     self.records2Erase.append(record.recordID) 
    } 
    readerOperation.queryCompletionBlock = {(cursor, error) in 
      if error != nil { 
       dispatch_async(dispatch_get_main_queue()) { 
        self.showAlert(message: error!.localizedDescription) 
       } 
      } else {     
       print("records2Erase since \(date) \(self.records2Erase)") 
      } 


    } 
관련 문제