我正在创建一个具有两个视图控制器的应用程序,这两个视图控制器都具有tableviews第一个控制器选择一个玩家,第二个控制器选择一个位置。选择播放器后,它会带您到第二个视图控制器选择一个位置。
以下是我在第二个表视图中的选项:
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中。正如您所看到的,无论您选择何种选项,它都会将球员保存在“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;
}
感谢。
答案 0 :(得分:0)
解决方案包括使用NSArray positions
(适用于key
)和NSIndexPath
委托方法tableView:didSelectRowAtIndexPath:
使用的关键是:[self.positions objectAtIndex:[indexPath row]]
或self.position[[indexPath row]]
简写风格。