這裏是我的代碼: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