【发布时间】:2014-04-13 23:31:11
【问题描述】:
我正在创建一个应用程序,它有两个视图控制器,都带有表视图。第一个控制器选择玩家,第二个控制器选择位置。一旦你选择了一个玩家,它就会带你到第二个视图控制器来选择一个位置。
这是我在第二个表格视图中的选项:
self.positions = @[@"1 - Prop",@"2 - Hooker",@"3 - Prop",@"4 - Second row",
@"5 - Second row",@"6 - Blind side flanker",@"7 - Open side flanker", @"8 - No.8",
@"9 - Scrum half",@"10 - Outside half",@"11 - Wing",@"12 - Inside centre",
@"13 - Outside centre",@"14 - Wing",@"15 - Fullback"];
下面是我在第二个视图中选择位置的代码。我将玩家 ID 传递过来,并将其临时存储在 textfield2 中。如您所见,无论您选择哪个选项,它都会将 playerid 保存在“1-prop”键下。我该如何改变这一点,以便 15 个潜在位置中的每一个都有自己的用户默认值?
例如,如果他们选择“2 - Hooker”,它会将玩家详细信息保存在名为“2-Hooker”的 NSUserDefaults 下
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString * valueToSave = self.textField2.text;
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"1 - Prop"];
NSString *savedValue = [[NSUserDefaults standardUserDefaults]stringForKey:@"1 - Prop"];
self.testLabel.text = savedValue;
}
谢谢。
【问题讨论】:
-
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:[self.positions objectAtIndexPath:[indexPath row]; “savedValue”也有同样的变化。
-
非常感谢尝试过但出错但发现只需将其更改为:[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:self.positions[indexPath.row]]; ...非常感谢
-
XCode 不是在运行时表达的错误,对吧?这是因为我忘了关闭 2 个括号。
标签: ios objective-c uitableview nsuserdefaults