1

ユーザーがCGPointsを使用してUIImageViewで描画する描画アプリケーションにCore Dataを使用したいと思います。保存して後で別の描画をロードするオプションがあります(ユーザーが望む場合はそれらに追加します-たとえば、可変性)

いくつかのコア データ チュートリアルを読み、コア データ プログラミング ガイドをざっと読みましたが、図面をコア データに保存するために何をする必要があるか、つまり、どのタイプの属性を使用するか (変換可能だと思います) を理解できないようです。作成する必要がある managedObject で動作するように CGPoints (ここでも変換すると思います) を取得する正確な方法。

描画するには、メソッドを使用しています:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {...}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {...}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {...}

iPhoneCoreDataRecipesプロジェクトでは、Apple が画像を Core Data のデータに変更します (したがって、プロジェクトをダウンロードする必要はありません。変換用の実装ファイル内のコードは、投稿の下部にあります)。この場合、PNG をデータに変換しているので、これを UIImageView の CGPoints に適用する方法がわかりません。必要に応じて、コードをさらに提供させていただきます。

前もって感謝します、
ジェームズ

.

.

Apple のレシピ コード:

@implementation Recipe
@dynamic name, image, overview, thumbnailImage, instructions, ingredients, type, prepTime;

@end

@implementation ImageToDataTransformer

+ (BOOL)allowsReverseTransformation {
return YES;
}

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

- (id)transformedValue:(id)value {
NSData *data = UIImagePNGRepresentation(value);
return data;
}

- (id)reverseTransformedValue:(id)value {
UIImage *uiImage = [[UIImage alloc] initWithData:value];
return [uiImage autorelease];
}

@end
4

1 に答える 1

1

TechZenのアドバイスによると:

CoreData で座標を照会する必要がありますか?それとも、図面をフェッチして、図面を構成するすべてのポイントを描画するだけですか?

座標を照会する必要がある場合は、2 つの属性 (座標) を持つ各 CGPoint を表すコア データ エンティティを作成します。それ以外の場合は、すべてのポイントを格納するために、変換可能な属性と NSValue を持つ図面ごとに 1 つのモデル オブジェクトを作成します。

CGPoint -> NSValue -> NSMutableArray -> (変換可能な) NSManagedObject 属性

于 2011-06-10T06:06:56.807 に答える