2010年10月19日

保存のタイミング

Delegate.m (Core Data)

// アプリケーション終了前に呼ばれる
- (void)applicationWillTerminate:(UIApplication *)
application
{
// データベースの内容が変更されていたら書き込む
NSError *error = nil;
if (managedObjectContext_ != nil)
{
if ([managedObjectContext_ hasChanges] &&
![managedObjectContext_ save:&error])
{
// 保存に失敗したらログを表示して終了する
NSLog(@"Unresolved error %@, %@", error,
[error userInfo]);
abort();
}
}
}

上記のままだと
永続化(保存)できない。。

Table側を見た方がよさそうだが、
とりあえず下記のように。


/* アプリケーションがアクティブ状態からインアク
ティブ状態に変わるときによばれる */
- (void)applicationWillResignActive:(UIApplication *)
application
{
// データベースの内容が変更されていたら書き込む
NSError *error = nil;
if (managedObjectContext_ != nil)
{
if ([managedObjectContext_ hasChanges] &&
![managedObjectContext_ save:&error])
{
// 保存に失敗したらログを表示して終了する
NSLog(@"Unresolved error %@, %@", error,
[error userInfo]);
abort();
}
}
}

呼ばれるタイミングを増やしただけ。
実装した処理内容は変わっていない。



posted by 西 at 17:42| 開発勉強 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。