使用 Parse.com 的多个 Segue 故事板和 TableViewCell

Posted

技术标签:

【中文标题】使用 Parse.com 的多个 Segue 故事板和 TableViewCell【英文标题】:Multiple Segue Storyboard whit TableViewCell using Parse.com 【发布时间】:2013-10-10 20:43:11 【问题描述】:

在我的应用程序中,我需要在实践中运行 2 个“Storyboard Follows”,当用户选择单元格时,它会根据布尔值推送到特定的视图控制器中。

Tableview 包含考试列表...我希望:

 当用户选择未完成的考试时被推送到 ViewController 1 当用户选择考试时,Complete 被推送到 ViewController 2

直到现在我一直在使用

- (Void) prepareForSegue: (UIStoryboardSegue *) sender follow: (id) sender

当然,当我从单元格连接两个关注点时,应用程序崩溃

我给你看代码 附:在情节提要中,我将单元连接到两个不同的视图控制器。如果这是错误的,你可以告诉我如何解决这个问题? 感谢您所做的一切,如果问题不是真正的问题,我们很抱歉:)

我使用 Parse.com

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
 

 if ([[segue identifier]isEqualToString:@"DettaglioOggetto"])
 
     NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
     PFObject *rowObject = [self.objects objectAtIndex:indexPath.row];
     if([[rowObject objectForKey:FF_ESAMI_STATUS] boolValue])
     
         //DATO CONVALIDATO
         PFObject *object = [self.objects objectAtIndex:indexPath.row];
         FFDettagliEsami *FFDestinationDetails = [segue destinationViewController];
         FFDestinationDetails.FFObjectForDetails = object;

      else if ([[segue identifier] isEqualToString:@"Dettaglio"])

      //   NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
         PFObject *object = [self.objects objectAtIndex:indexPath.row];
         FFSchedaEsameConvalidato *FFDestinationDetails = [segue destinationViewController];
         FFDestinationDetails.FFObjectForDetails1 = object;

     

   

【问题讨论】:

【参考方案1】:

已解决...我直接从包含 TableView 的 viewcontroller 连接,使用 CTRL + 拖动视图控制器目标,然后

- (Void) prepareForSegue: (UIStoryboardSegue *) sender follows: (id) sender


if ([[segue identifier] isEqualToString: @ "SegueDaConvalidare"]) 
NSIndexPath * indexPath = [self.tableView indexPathForSelectedRow];
PFObject * object = [self.objects objectAtIndex: indexPath.row];
FFDettagliEsami * = FFDestinationDetails [more destinationViewController];
FFDestinationDetails.FFObjectForDetails = object;
    
if ([[segue identifier] isEqualToString: @ "SegueConvalidato"]) 
NSIndexPath * indexPath = [self.tableView indexPathForSelectedRow];
PFObject * object = [self.objects objectAtIndex: indexPath.row];
FFSchedaEsameConvalidato * = FFDestinationDetails [more destinationViewController];
FFDestinationDetails.FFObjectForDetails1 = object;

然后我实现了方法 didSelectedRowAtIndexPath,现在一切正常。

【讨论】:

以上是关于使用 Parse.com 的多个 Segue 故事板和 TableViewCell的主要内容,如果未能解决你的问题,请参考以下文章

故事板 segue 调用顺序

没有故事板或 segue 的委托模式

使用自定义表格视图单元格中的故事板segue

代表为零,使用故事板嵌入segue

没有故事板的过渡动画 segue swift

在多个视图控制器、多个故事板上显示用户输入的文本