我正在爲iPhone製作鬧鐘應用程序,並想知道什麼是保存我的數據的最佳方式。我嘗試過實施CoreData,但它不起作用。我看了一下,發現使用CoreData時,你必須勾選一個複選框,在Xcode中創建一個新項目時使用CoreData作爲存儲空間,我沒有這樣做。相反,我創建了基於視圖的應用程序。我還可以實現CoreData還是應該使用其他類似plist或SQLite的東西。我應該如何保存鬧鐘應用程序數據?
0
A
回答
3
我會做什麼,只是在NSUserDefaults的數據存儲爲字典的數組。
例如,讓我們說你有:
NSDictionary *alarmOne = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:fireDateOne, labelOne, repeatIntervalOne, nil] forKeys:[NSArray arrayWithObjects:@"fireDate", @"label", @"repeatInterval"]];
NSDictionary *alarmTwo = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:fireDateTwo, labelTwo, repeatIntervalTwo, nil] forKeys:[NSArray arrayWithObjects:@"fireDate", @"label", @"repeatInterval"]];
NSArray *alarmsToBeSaved = [NSArray arrayWithObjects:alarmOne, alarmTwo, nil];
//save the alarms
[[NSUserDefaults standardUserDefaults] setObject:alarmsToBeSaved forKey:@"MyAlarms"];
//get alarms back from NSUserDefaults
NSArray *alarms = [[NSUserDefaults standardUserDefaults] objectForKey:@"MyAlarms"];
for (NSDictionary *alarm in alarms){
NSLog(@"label of alarm: %@", [alarm objectForKey:@"label"]); //output alarm labels for example!
}
你也可以保存該Array對應用程序的文件目錄的磁盤...
核心數據通常是更好的,當你有大集的數據,您希望快速從數據庫中取出(搜索)並更好地控制內存使用情況。
如何添加新的警報?
NSDictionary *alarmThree = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:fireDateThree, labelThree, repeatIntervalThree, nil] forKeys:[NSArray arrayWithObjects:@"fireDate", @"label", @"repeatInterval"]];
NSMutableArray *newAlarms = [NSMutableArray arrayWithObjects:[[NSUserDefaults standardUserDefaults] objectForKey:@"MyAlarms"]];
//add the new alarm Dict
[newAlarms addObject:alarmThree];
//save the array
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithArray:newAlarms] forKey:@"MyAlarms"];
+0
那麼如何保存用戶添加的數據呢? – Souljacker
+1
增加了我如何保存第三個鬧鐘 – Ladislav
相關問題
- 1. Phonegap鬧鐘應用程序
- 2. 鬧鐘android應用程序
- 3. 在我的鬧鐘應用程序中設置多個鬧鐘
- 4. 如果我想創建鬧鐘應用程序,我該如何指定日期?
- 5. 如何整合鬧鈴或黑莓應用程序的鬧鐘?
- 6. 我應該在哪裏保存應用程序數據?
- 7. 我應該如何在我的android應用程序中保存我的應用程序數據?
- 8. iPhone中的鬧鐘應用程序中的貪睡鬧鐘?
- 9. 如何在我的應用程序中實現系統鬧鐘?
- 10. 如何通過我的iPhone應用程序創建鬧鐘
- 11. 如何從我的應用程序設置鬧鐘鈴聲?
- 12. 如何設置鬧鐘與Android中的鬧鐘應用程序相同?
- 13. 如何保存應用程序數據
- 14. iOS中的鬧鐘應用程序
- 15. 安卓鬧鐘應用程序崩潰
- 16. 鬧鐘應用程序錯誤
- 17. Wpf中的鬧鐘應用程序
- 18. .Net中的鬧鐘應用程序
- 19. iphone應用程序重複鬧鐘
- 20. 鬧鐘應用程序幫助(AI)
- 21. 鬧鐘應用程序Android Studio
- 22. 鬧鐘應用程序源代碼
- 23. 構建鬧鐘樣式應用程序
- 24. 何時應該將應用程序數據保存在WinRT中?
- 25. 應該將永久數據保存在Angular應用程序中
- 26. 跨平臺應用程序應該在哪裏保存數據?
- 27. 當我使用報警應用程序時,額外保留了一個鬧鐘
- 28. 如何在iPhone中創建鬧鐘應用程序?
- 29. 如何在ios6中播放鬧鐘應用程序的音樂?
- 30. 鬧鐘應用程序如何在iPhone 3.0 SDK上工作?
它是一個小數據處理器可以罰款,否則使用CoreData。 – zaph
我只想爲用戶可能創建的每個警報保存一個警報對象,例如fireDate,標籤和重複間隔。你認爲plist能夠解決這個問題嗎? – Souljacker
確定它仍然可以使用核心數據。只需創建一個新項目選中核心數據選項並查看該項目 - 尤其是應用程序委託。你可以複製並粘貼大量的核心數據代碼到你的其他項目中 – HeikoG