2016-06-27 10 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時間よりも古いすべてのレコードが欲しい。私のレコードには1つのフィールドしか含まれておらず、それが資産です。展開が有望に見えない場合は、インデックスのサイズは、それが

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


    } 
関連する問題