这里是我的代码:NSUserDefaults的 - 节能滚动视图偏移
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
NSLog(@"scrolled!");
[[NSUserDefaults standardUserDefaults] setFloat:self.mainTableView.contentOffset.y forKey:@"grTableCOy"];
}
正如你可以看到每次用户滚动,我在设置NSUserDefaults的一些值。只是一个问题 - 这是否有效?
每次我设置一个新值时,NSUserDefaults是否会将内容保存到磁盘,或者只有在调用同步方法时才保存它?
我正在调用applicationWillTerminate进行同步。但这对节约能源有好处吗?我的意思是让用户滚动表格。方法didScroll被激发了100次。 NSUserDefaults保存只能说10次,但这仍然写入磁盘,所以它是节能的?这是我的问题。 – Devfly
@Devfly如果你在'applicationWillTerminate'同步,那很好。每次你滚动一个NSUserDefaults时,都不会保存(只在内存中设置底层的'NSDictionary'),所以你不需要担心。 – 2012-11-03 14:20:51