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