Ios 在UITableView';之前调用情节提要segue;迪德罗
我有一个故事板,上面有一张桌子单元格里的segue。我想在选择行时使用一些数据设置一些属性,因此我执行以下操作:Ios 在UITableView';之前调用情节提要segue;迪德罗,ios,storyboard,tableview,didselectrowatindexpath,Ios,Storyboard,Tableview,Didselectrowatindexpath,我有一个故事板,上面有一张桌子单元格里的segue。我想在选择行时使用一些数据设置一些属性,因此我执行以下操作: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [[ProperyManager sharedPropertyManager]setSelectedRow:[verseIds objectAtIndex:indexPath.row
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[[ProperyManager sharedPropertyManager]setSelectedRow:[verseIds objectAtIndex:indexPath.row]];
[[ProperyManager sharedPropertyManager]setID:[poemIDs objectAtIndex:indexPath.row]];
[[ProperyManager sharedPropertyManager]setRowToReturn:[NSString stringWithFormat:@"%i",indexPath.row]];
}
问题是,目标视图控制器的视图控制器生命周期方法(VIEWWILLEXPEND等)在上面的didSelectRow方法之前被调用,因为segue在执行委托方法之前推送视图
我该如何解决这个问题?不要创建从单元格到新VC的序列,而是设置从旧VC到新VC的序列,并给序列一个标识符 然后在
didSelectRowAtIndexPath
您可以调用
[self-performsguewithidentifier:@“Segue”sender:self]
Rawkode的答案是一个很好的解决方案-另一种选择是,在prepareforsgue:
中,您可以访问表视图的选定行(发送方参数将是表视图单元格,然后您可以执行[self.tableView indexPathForCell:(UITableViewCell*)发件人]
获取索引路径)并在此时设置您需要的任何内容。谢谢您的回答帮助我了解了其他内容并了解了更多内容:)