我有一个自定义UITableViewController显示一个带有位置列表的TableView,我在故事板(ios 5)中创建了一个segue并给它一个Identifier“SelectPlace”,它来自第一个UITableViewController中的一个单元格,并且被认为是to segue到下一个UITableViewController,显示一个新的tableview,其中包含所选位置的详细信息列表。
问题是segue没有执行(下一个TableViewController没有被推入屏幕,当前的一个保持打开状态),即使我仔细检查了正确的标识符并将所有内容设置到位。 我甚至看到(断点)-prepareForSegue发生并成功完成。
我也尝试添加
[self performSegueWithIdentifier:@"SelectPlace" sender:[self.tableView cellForRowAtIndexPath:indexPath]];
到单元格选择
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
但它没有帮助(我认为这不是必要的,因为故事板上绘制了segue)
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog([segue.identifier description]);
if ([segue.identifier isEqualToString:@"SelectPlace"])
{
NSArray* placePhotosArr = [FlickrFetcher photosInPlace:[self.topPlacesArray objectAtIndex:([self.tableView indexPathForCell:sender].row)] maxResults:50];
[segue.destinationViewController setPlacePhotosArray:placePhotosArr];
//[segue perform];
NSLog([placePhotosArr description]);
}
}
缺少什么? 请帮忙
答案 0 :(得分:0)
我不知道这是否有所作为,但我使用了这个实现:
[[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"]
是推送还是使用什么类型的转换
答案 1 :(得分:0)
我的不好,segue没有推动的原因是因为我忘了将tableviewcontroller'嵌入'导航视图控制器... duh