0

パズルを生成するアプリケーションを作成しました。これをコア データに格納するか、最も適切なストアに格納します。また、以前に保存されたパズルを検索して、生成されたパズルが重複しているかどうかを判断したいと思います。

各パズルは 50 ~ 100 桁の配列で表され、数千個を格納できるようにしたいと考えています。

最も簡単な解決策は、文字列を使用して Core Data フェッチ リクエストを作成する方法を既に知っているという理由だけで、配列を文字列に変換することのようです。コア データにバイナリ データを格納することも可能であることは知っていますが、このデータに基づいてエンティティを取得できるようには見えませんか?

この種のタスクにより適した、見逃しているオプションはありますか?

助けてくれてありがとう!

4

2 に答える 2

1

コア データで Transformable データ型を使用する場合、NSArray をコア データに格納できます。

これらを NSManagedObject サブクラスに追加します

+ (Class)transformedValueClass
{
    return [NSArray class];
}

+ (BOOL)allowsReverseTransformation
{
    return YES;
}

- (id)transformedValue:(id)value
{
    return [NSKeyedArchiver archivedDataWithRootObject:value];
}

- (id)reverseTransformedValue:(id)value
{
    return [NSKeyedUnarchiver unarchiveObjectWithData:value];
}

これはこのためのチュートリアルです

http://www.lextech.com/2013/01/core-data-transformable-attributes/

すべてのパズルを保存することにした場合、Core Data には個別のオブジェクトをフェッチする機能があります。

コアデータで個別の値を取得する方法は?

それ以外の場合は、保存する前に比較する必要があります。

幸運を

于 2013-09-14T10:53:32.447 に答える