2016-04-11 11 views
0

現在、私のデータをParseからCloudKitに移植しています。私は自分のデータをCloudKit構造体にインポートすることができましたが、今は正しい量のレコードを受け取っていません。ダッシュボードに表示されている52人のユーザーの代わりに、私は289のレコードを受け取ります。私は単純なCKQueryCKQueryOperationで試しました。CloudKitが返すレコードが多すぎます

CKQueryは制限のために100の結果を返し、私がCKQueryOperationを使用しているときには、多くの重複したエントリがある289件の結果が表示されます。

let query = CKQuery(recordType: "User", predicate: NSPredicate(value:true)) 

let container = CKContainer.defaultContainer() 
let publicDB = container.publicCloudDatabase 

publicDB.performQuery(query, inZoneWithID: nil) { (records, error) in 
    print("USER public count: \(records?.count)") 
} 

そして、私は迅速なクラス構造に自動的に結果を移植されたヘルパーライブラリを書かれているCKQueryOperation用:

私はすべてのユーザーを取得するために、次のコード(CKQueryの道を...)を使用します。

let uw = ROCloudBaseWebservice<User>() 

uw.load { (data) in 
    logger.debug("User count (CKQueryOperation): \(data.count)") 
} 

あなたは、この負荷からのコードを見たい場合は、ここでそれを見ることができます: https://github.com/prine/ROCloudModel/blob/master/Source/ROCloudBaseWebservice.swift

私はまた、データの間違った量を取得し、私の3つの他のテーブルと同じを持っています。 4つのエントリを持つ1つのテーブルのみが正しいデータ量を受け取ります。

誰か他にこの問題がありましたか?私はテーブルの参照を使用しています。これは問題につながりますか?

答えて

0

CloudKitにバグがあり、削除されたレコードが何らかの形でまだ利用できないことが判明しました。私は自分の開発環境をリセットし、データを再度インポートして、返されたレコードの正しい量を得ました。

さらに詳しい情報は、このStackoverflow投稿にあります。 Deleted CloudKit records Reappear

関連する問題