Segue之后无法传递信息

时间:2015-06-04 18:46:42

标签: ios objective-c segue

所以我有一个问题,我为Segue准备了我的代码,当我试图传递信息并在其他视图中调用此信息时出错。

  

使用未声明的标识符&selectedCellToSegue"

出现

这就是我将信息从一个视图传递到另一个视图的方式。

    [INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ app-core ---
[INFO] Building jar: C:\Users\SHANK030\git\AdaptivePaymentPlatform\APP_Core\target\appCore.jar
[INFO] 
[INFO] --- jacoco-maven-plugin:0.7.5.201505241946:report (default-report) @ app-core ---
[INFO] Analyzed bundle 'Adaptive Payment Platrom Core' with 68 classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:08 min
[INFO] Finished at: 2015-06-04T15:28:28-05:00
[INFO] Final Memory: 51M/594M
[INFO] ------------------------------------------------------------------------

2 个答案:

答案 0 :(得分:0)

if:

后需要括号
if ([[segue identifier] isEqualToString:@"mySegue"]) {
    //if you need to pass data to the next controller do it here
    NSIndexPath *selectedCellToSegue;
    selectedCellToSegue = selectedCellToPass;
}

您的代码所做的是检查标识符,然后声明一个变量。这是唯一依赖于if的语句。下一行不在if的主体中,因此无法访问其范围中定义的变量。

如果在if之后省略括号,则只有条件执行完整的下一个语句。如果插入括号,则会有条件地执行这些括号中的所有代码。

答案 1 :(得分:0)

您需要获取您正在查看的视图的句柄,以便设置其属性。像这样:

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

    if([segue.identifier isEqualToString:@"mySegue"]){
        MyDestinationView *vc=[segue destinationViewController];
        vc.myVar=myVar;

    }

}