从头开始保存用户数据
问题描述:
我有一个应用程序,我希望用户在第一次打开应用程序时选择一个位置。在他们选择他们的位置后,我希望保存该位置,并在特定位置提供某些按钮。目前,我已经尝试保存用户的位置,只有在应用程序中才能实现该位置,但是,每当应用程序关闭时旧数据不会加载。 我的两个问题是:从头开始保存用户数据
- 如何保存在整个用户的位置应用
- 建议使用哪种方法来调用基于用户位置的不同环节? (更新): 我现在试过的是使用NSUSERDEFAULTS。这是我的代码。
- (void)viewDidLoad {
[super viewDidLoad];
[self userLocationSave];
}
-(void)userLocationSave
{
campusLocation = self.lblUserLocation.text;
self.lblUserLocation.textColor = [UIColor whiteColor];
[self saveData];
}
-(void)saveData
{
NSString *saveLocation = self.lblUserLocation.text;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:saveLocation forKey:@"campusChoice"];
[defaults synchronize];
}
-(void)loadData
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *loadString = [defaults objectForKey:@"campusChoice"];
[self.lblUserLocation setText:loadString];
}
然后我在viewDidAppear方法中加载数据。
为了澄清,校园位置是来自视图控制器的用户选择个人数据的NSString。
答
如果在下一次会话期间数据不存在,您似乎并未真正保存用户应用程序。
有两个很好的方式在iOS中留存数据: CoreData NSUserDefaults的
听起来像是为NSUserDefaults的你会工作。查阅如何使用NSUserDefaults保存数据的教程。
建议根据用户位置调用不同链接的方式是?
不知道你在问什么,如果你澄清,我可以编辑我的答案。
用你试过的东西更新你的问题,并准确解释不按预期工作。 – rmaddy
在'viewDidLoad'中,你应该加载你的数据,而不是保存你的数据。 – rmaddy
NScoding非常易于使用https://developer.apple.com/library/prerelease/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSCoding_Protocol/index.html – DogCoffee