2010-12-03 31 views
1

我有一个单身人士,它有一个单身人士的第一个实例时创建的NSArray。何时应该将此数组保存到磁盘,在dealloc方法中?我检查了苹果文档,它说你真的不应该在dealloc中,但没有说明在哪里。那么,我打算每次修改数组时都要写入磁盘?这看起来很浪费?将数组保存到磁盘中的单身人士

回答

3

通常,您应该保存状态接近状态更改的时间。如果你保存的状态量非常小,那么你可以等到application delegate -applicationWillResignActive:方法被调用。或者你可以单独注册NSNotificationCenter来观察UIApplicationWillResignActiveNotification。然后保存。

如果你的数组将会非常大,那么你可能希望不太经常保存。但是您还必须注意将阵列写入磁盘需要多长时间。根据您的应用程序在何种情况下处于活动状态,您可能没有多少时间写入磁盘。

您是否对可能需要写入的最大数据量有很好的理解?这是受限制的还是开放式的?

+0

那么每次用户重新对tableView中的单元格进行重新排序(实际上有2个NSArrays),单例中的数组会得到更新以匹配,用户可能一次重新排序多于一行,但它会被调用每一行都移动了,所以我不希望用户移动一行,应用程序保存到磁盘,用户移动另一行一毫秒后,必须再次保存到磁盘等。 – 2010-12-03 21:43:39