我刚刚开始学习objective-c和一般的编程,我真的被这个问题困住了。我正在使用情节提要创建一个应用程序来记录不同类型游戏的分数。我有一个主视图控制器,它是一个表格视图,它有带有详细标签的原型单元格。有一个AddKeeperViewController
允许用户输入玩家姓名和游戏类型。然后将游戏类型用作原型单元的详细标签。
然后我想让每个单元格推送到不同的视图控制器,具体取决于详细文本标签是什么。目前我只有 2 种游戏类型,我知道我需要在 tableView 中设置逻辑didSelectRowAtIndexPath
来选择要使用的 segue。我从视图控制器而不是单元格设置我的 segues,它们每个都有一个唯一的标识符。我只是不知道如何设置我的 if 语句来使用gameType
作为 segue 的决定因素。
这是我MasterViewController.m
文件中的一些代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"scoreKeeperCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
scoreKeeper *keeperAtIndex = [self.dataController objectInListAtIndex:indexPath.row];
[[cell textLabel]setText:keeperAtIndex.name];
[[cell detailTextLabel] setText:keeperAtIndex.gameType];
return cell;
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if(cell.detailTextLabel) {
//statement
}
if ([[segue identifier] isEqualToString:@"ShowKeeperDetails"]) {
MADDetailViewController *detailViewController = [segue destinationViewController];
detailViewController.keeper = [self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row];
}
}