如何在关闭文档时将设置保存到Core Data中

时间:2013-07-28 23:51:04

标签: objective-c cocoa core-data nspersistentdocument

我有一个变量,我已经从我的核心数据数据库中取出了很多变量(它只是一个int但它会定期更新)。

我的应用基于NSPersistentDocument,当用户关闭文档时,我想将此变量保存到数据库中,以便它继续存在。

我做了以下事情:

- (void) windowWillClose:(NSNotification *)notification
{
    [self.managedObjectContext performBlockAndWait:^(void) {
        self.myDatabase.myNumber = [NSNumber numberWithInt:self.myTempInt];
        [self.managedObjectContext save:nil];
    }];
}

这在保存数据方面起作用,当新文档打开时,我可以从数据库值设置myTempInt

然而,它引入了一个问题,即文档不再解除分配 - 似乎在文档关闭时引用self.myDatabase会创建一个保留,这意味着ARC永远不会启动。

是否有一个更好的地方可以做这种不会引起参考计数的问题,或者我接近这一切都错了?

更新

我一直在考虑这一点,并意识到,只要文档自动保存,而不是关闭文件,这样做会好得多。有没有类似' documentWillAutosave'我可以用?

0 个答案:

没有答案