我已经尝试了好几个小时,但没有任何效果。我试图在两个视图控制器之间进行切换,从一个 tableViewController 到另一个 tableViewController。segue 连接到顶层视图,而不是 tableviewcell。Xcode 中设置的标识符与代码中使用的标识符相同(复制和粘贴)。昨晚它工作得很好,但现在我似乎无法让它在不崩溃的情况下继续运行。
以下是调用 segue 的方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
self.photoList = [FlickrFetcher photosInPlace:[self.topPlacesList objectAtIndex:indexPath.row] maxResults:50];
NSLog(@"photolist %@", self.photoList);
NSLog(@"here");
[self performSegueWithIdentifier:@"segue1" sender:self];
NSLog(@"here");
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"segue1"])
{
PhotosTableViewController *photosTVC = segue.destinationViewController;
photosTVC.photoList = self.photoList;
}
}
这是错误报告
2012-08-08 15:28:39.093 Top Places[512:f803] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“接收者(PlacesTableViewController:0x6887ff0)没有标识符为“segue1”的segue *第一次抛出调用堆栈:( 0x13c0052 0x1551d0a 0xde24b 0x3efd 0xa771d 0x7952 0x112f86d 0x1394966 0x12f77c0 0x12f77c0 0x12f6db4 0x12f6ccb 0x12a9879 0x12a9930 0x12a993e 0x12a9930 0x12a9930 0x12a9930 0x12a993e 0x12a9a9b 0x12778 0x17a9b 0x2778 0x26d5)终止称为抛出异常
这是情节提要的截图 http://s14.postimage.org/66wf13q4h/Screen_Shot_2012_08_08_at_3_22_10_PM.png