0

私はiPhoneの開発に不慣れです。私の問題はNSMutableArray、いくつかのカスタムオブジェクトがあることです。各オブジェクトには、name(NSString)、Image(UIImage)、button(UIButton)、およびそれに関連付けられたブール値の4つのプロパティがあります。ボタンはプログラムによってランダムに生成され、ビューが読み込まれるとビューに配置されます(内部viewDidLoad)。このオブジェクトの配列を保存し、ユーザーがアプリケーションを終了してから再入力するたびに再生成するにはどうすればよいですか。ボタンは、ビュー上の位置も保持する必要があります。前もって感謝します。

4

1 に答える 1

0

GCの一種であるARCを使用できます。すべてのオブジェクトは、参照がなくなると解放されます。それらのオブジェクトを保持するための2つのアイデアを紹介します。

1:これらのオブジェクトを親のViewControllerまたはDelegateクラスに保持します。

親のViewControlerまたはDelegateクラスですべてのオブジェクトを事前に宣言できます。

NSMutableCustomArray *customArray = [NSMutableCustomArray array];
[customArray setParameters];
ChildView *childView = [[ChildView alloc] init];
[customArray setCustomArray:customArray];
[self.view addSubview:ChildView];

親が存在しない限り、customArray内のすべてのオブジェクトが参照を出力することはありません。

2:CoreDataまたはNSUserDefaultsを使用します。

NSUserDefaultsは、単純なデータ、文字列、boolなどが必要な場合に非常に便利です。UIButtonに関しては、位置を復元しなければならないのは面倒です。

[defaults setObject:string forKey:@"customString"];
[defaults setFloat:10.0 forKey:@"button_x"];
[defaults setFloat:10.0 forKey:@"button_y"];
[defaults setFloat:10.0 forKey:@"button_width"];
[defaults setFloat:10.0 forKey:@"button_height"];
于 2013-02-03T03:36:24.733 に答える