CKRecord
概要
CKRecord は、CloudKit における基本的なオブジェクトであり、Core Data でいう Entity のようなもの。CKRecord は名前を持ち、複数のフィールドを持つ。各フィールドは各々名前と型が定義される。開発中はキーを自由に追加できるが、本番環境だとそのようなことはできず、定義されていない RecordType の CKRecord を保存しようとしたらエラーになるし、Record が保持していないキーに値を格納しようとしてもエラーになる。 値としてサポートしているのは以下。また、Record の読み書き速度を保証するために、Record の保持するデータサイズは 1MB 以下にするのが推奨されている。CKAsset
NSString
NSNumber
NSData
NSDate
NSArray
SLLocation
CKAsset
CKRecord.Reference
Index
開発環境だと、デフォルトで全てのフィールドにインデックス が貼られている。ただし、これは容量を圧迫するし生成に時間がかかるので、本番環境に移す時には不要な Index は削除するのが良い。Index の管理には CloudKit Dashboard を利用する。 Index には Queryable, Searchable, Sortable の3種類がある。Queryable はそのフィールドをクエリに含めることができること、Searchable は前文検索ができること、Sortable はソートができることを示す。
参考