0

NSCoding メソッドを使用する MyPos.h という名前のクラスにデータを保存しようとしています。

  • (void)encodeWithCoder:(NSCoder *)aCoder
  • (id)initWithCoder:(NSCoder *)aDecoder

これら 2 つのメソッドは MyPos.m ファイルに実装されています。

ここで、アプリケーションが終了したときにデータを保存し、起動が完了したときにデータをロードするようにします。to メソッドを AppDelegate.m ファイルに実装したいのですが、データを保持する MyPos クラスのインスタンスを保存する方法がわかりません。

これは、AppDelegate.m ファイル内の 2 つのメソッドのうちの 1 つです ... これまでのところ:

- (void)applicationWillTerminate:(UIApplication *)application {


NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];

[archiver encodeObject: **HELP_HERE!** forKey:@"myPos"];
[archiver finishEncoding];

[data writeToFile:[self dataFilePath] atomically:YES];}

どうすればこれを解決できますか? よろしくお願いします。

4

2 に答える 2

1

これらのコードを「applicationWillEnterBackground」メソッドに記述する必要があると思います。バックグラウンドのアプリとユーザーがアプリを強制終了すると、applicationWillTerminate にあるコードが機能しない可能性があるためです。

于 2012-04-09T16:34:49.563 に答える