单击单元格并尝试将我的日期转移到 DetailViewController 时,我遇到了 segue 问题
我没有在这里找到我的问题的答案,所以我在这里问。
这是我的方法:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// NSLog(@"Source Controller = %@", [segue sourceViewController]);
// NSLog(@"Destination Controller = %@", [segue destinationViewController]);
// NSLog(@"Segue Identifier = %@", [segue identifier]);
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
if (indexPath){
lastNews *item = [news objectAtIndex:indexPath.row];
[segue.destinationViewController setDetail:item];
NSLog(@"%@", item.title);
}
}
如果我只删除 if 条件并留下我的代码,如下所示:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// NSLog(@"Source Controller = %@", [segue sourceViewController]);
// NSLog(@"Destination Controller = %@", [segue destinationViewController]);
// NSLog(@"Segue Identifier = %@", [segue identifier]);
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
lastNews *item = [news objectAtIndex:indexPath.row];
[segue.destinationViewController setDetail:item];
NSLog(@"%@", item.title);
}
我的数据可以传输,但只能传输第一个单元格。
如果我像这样实现它:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"detailNews"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
//if (indexPath){
lastNews *item = [news objectAtIndex:indexPath.row];
[segue.destinationViewController setDetail:item];
NSLog(@"%@", item.category);
}
}
它会发送但始终是新闻标题,并且始终来自第一个新闻。(NSLOG 仅用于检查)
我知道它接收所有值,我已经通过 NSLOG 检查了它,而不仅仅是标题。
为了您的信息,我总是从网站上解析出最新的 20 条新闻,这是有效的,我的单元格中充满了新闻标题。
你能建议我哪里错了吗?
谢谢