Ios 永远更改NSString值:NSUserDefaults?
我有两种看法: View1(商店):储存在Ios 永远更改NSString值:NSUserDefaults?,ios,objective-c,nsstring,nsuserdefaults,Ios,Objective C,Nsstring,Nsuserdefaults,我有两种看法: View1(商店):储存在NSString中用于显示图像的URL View2(ModifyShop):带有来自view1的URL的文本字段 我可以将数据从view1传递到view2:存储在NSString中的URL显示在文本字段中,并将数据从view2传递到view1。(例如URL) 现在,我想用view2中的文本字段修改这个URL,并且永远修改view1中的NSString。我怎样才能做到?使用NSUserDefaults 这是我的密码: 商店: Shopmodify: - (
NSString
中用于显示图像的URL
View2(ModifyShop):带有来自view1的URL的文本字段
我可以将数据从view1传递到view2:存储在NSString
中的URL显示在文本字段中,并将数据从view2传递到view1。(例如URL)
现在,我想用view2中的文本字段修改这个URL,并且永远修改view1中的NSString
。我怎样才能做到?使用NSUserDefaults
这是我的密码:
商店:
Shopmodify:
- (void)viewDidLoad {
[super viewDidLoad];
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.photoURL.text = [NSString stringWithFormat:@"%@", self.imageButtonURL];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
Shop *viewcontroller = (Shop *)segue.destinationViewController;
viewcontroller.imageButtonURL = self.photoURL.text;
}
您可以通过以下方式将URL字符串存储在NSUserDefaults中:
只要让您的view1始终从NSUserDefaults中获取它,view2就会出现,并让view2更改URL字符串的NSUserDefaults键,这应该可以做到,如果使用foverer,您的意思是即使在您再次关闭并打开应用程序后,也可以替换默认值,例如,可以使用NSUserDefaults(或存储数据/配置的任何其他持久方式) 在视图2中编辑时保存:
[[NSUserDefaults standardUserDefaults] setObject:valueToSave
forKey:@"imageUrl"];
[[NSUserDefaults standardUserDefaults] synchronize]; //Important
NSString *savedUrl = [[NSUserDefaults standardUserDefaults] stringForKey:@"imageUrl"];
if(!savedValue){
savedUrl = @"http://bundoransurfshop.com/wp-content/uploads/2015/02/72-torq-pink.jpg";
}
在视图1中加载/重新加载:
[[NSUserDefaults standardUserDefaults] setObject:valueToSave
forKey:@"imageUrl"];
[[NSUserDefaults standardUserDefaults] synchronize]; //Important
NSString *savedUrl = [[NSUserDefaults standardUserDefaults] stringForKey:@"imageUrl"];
if(!savedValue){
savedUrl = @"http://bundoransurfshop.com/wp-content/uploads/2015/02/72-torq-pink.jpg";
}
官方文件