我无法使用“prepareForSegue”方法将数据发送到其他视图...</p>
我有一个表格视图,其中填充了来自 sqlite 查询的结果。当我点击其中一个表格单元格时,它会将我引导到另一个视图,其中我有一个标签,该标签将告诉我 ID 和名称
我有一个 NSString 保存来自 SQLite 数据源的 ID 值。我想将该 id 传递给我的应用程序的第二个视图,以使用它从基于该 id 的 sqlite 数据源中获取信息。
现在我已经编写了代码,它将信息从一个视图传递到另一个视图……但由于某种原因,这些信息是“不合格的”。这就是我的意思,我列出了 3 个山区:Deception、Far Side 和 Mt. Washington(在第一个视图的 tableview 中列出)。当我点击华盛顿山时,它会转到第二个视图,我设置的标签告诉我所选单元格的名称……。为空白。我点击导航栏上的返回按钮,再次点击华盛顿山,这次标签显示的是“华盛顿山”的名称。现在,当我返回并单击“远侧”时,标签显示“华盛顿山”。当我返回并再次单击“远端”时,标签变为“远端”。希望这是有道理的。
有谁知道如何解决这个问题?这是我的代码:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([[segue identifier] isEqualToString:@"areaIDpush"]){
RockViewController *rockRoutes = [segue destinationViewController];
rockRoutes.rockID = areaID_fk;
rockRoutes.rockName = areaName_fk;
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
areaID_fk = cell.detailTextLabel.text;
areaName_fk = cell.textLabel.text;
}
- (void)viewWillAppear:(BOOL)animated {
[areaIDLabel setText:rockID];
[areaNameLabel setText:rockName];
[super viewWillAppear:animated];
}
希望这能帮助您了解我遇到问题的地方......任何帮助都会很棒。谢谢!