2012-01-06 61 views
1

我有一个自定义的UITableViewController显示一个TableView的位置列表,我在故事板(ios 5)中创建了一个segue,并给它一个标识符“SelectPlace”,它出来了一个单元格第一个UITableViewController,并应该延续到下一个UITableViewController,并显示一个新的tableview,并列出所选位置的详细信息。自定义的UITableViewController细胞继续不推动

即使我再次检查了正确的标识符并将所有内容都设置到位,问题是segue不执行(下一个TableViewController未被推入屏幕,当前一个仍然保留)。 我甚至可以看到(断点)-prepareForSegue发生并成功完成。

我也尝试添加

[self performSegueWithIdentifier:@"SelectPlace" sender:[self.tableView cellForRowAtIndexPath:indexPath]]; 

小区选择

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

,但它并没有帮助(我不认为这是neccasary因为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

你上面的代码帮助解决了我的问题。感谢您发布您做错了什么! :) – absentmindeduk 2013-03-23 19:05:53

回答

0

我的坏,segue没有推动的原因是因为我忘了在导航视图控制器中“嵌入”tableviewcontroller ...嗯

0

我不知道这是否会有所作为,但我用这个实现:

[[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"] 

而且它是一个推或什么类型的过渡您使用的是

+0

是的,这是推动。但它永远不会显示..我不明白为什么。 顺便说一下,这两个符号之间没有区别,因为标识符是类segue中的一个属性。 – mindbomb 2012-01-06 12:56:01

+0

segue.identifier是[segue identifier]的财产符号,这两个符号之间没有功能上的区别 – 2014-02-07 15:09:50