“ - [NSNull isEqualToString:]:在Segues上发送到实例的无法识别的选择器

时间:2013-03-11 22:19:22

标签: ios objective-c segue

我在-[NSNull isEqualToString:]: unrecognized selector sent to instance方法上获得prepareForSegue。我已将所有按钮连接到viewcontroller并命名了所有segues标识符。也许我错过了什么。 segue是从一个按钮到一个视图控制器,它是一个模态segue。奇怪的是,当我包含错误弹出的其余部分时,它正在处理segue“visor2”。提前谢谢!

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSLog(@"prepareForSegue: %@", segue.identifier);
    NSDictionary *retrievedDictionary = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"pPacks"];
    NSLog(@"%@",retrievedDictionary);
    VisorViewController *visor=[segue destinationViewController];
    // NSArray *objeto=[[NSArray alloc]initWithObjects:@"pack1_contenido",@"pack1_directorio",@"pack1_nombre",@"pack1_nombre",@"pack1_version", nil];
    if ([segue.identifier isEqualToString:@"visor"]) {


        //Envio de datos a Segue
        if([preferencias objectForKey:@"pPacks"]!=nil){

        //for(id arreglo in retrievedDictionary){


            visor.directorio=[retrievedDictionary objectForKey:@"pack1_directorio"];
            visor.contenido=[retrievedDictionary objectForKey:@"pack1_contenido"];
        //}
        }
       else{

            datoTemporal=[datosA objectAtIndex:0];
            visor.directorio=datoTemporal.directorio;
            visor.contenido=datoTemporal.contenido;
        }
            NSLog(@"Si lo hace el segue");


    }
    else  if ([segue.identifier isEqualToString:@"visor2"]) {


        //Envio de datos a Segue
       if([preferencias objectForKey:@"pPacks"]!=nil){
       // for(id arreglo in retrievedDictionary){


            visor.directorio=[retrievedDictionary objectForKey:@"pack2_directorio"];
            visor.contenido=[retrievedDictionary objectForKey:@"pack2_contenido"];
        //}
        }
        else{

            datoTemporal=[datosA objectAtIndex:1];
            visor.directorio=datoTemporal.directorio;
            visor.contenido=datoTemporal.contenido;
        }
        NSLog(@"Si lo hace el segue");


    }
    //Visor 3
  else  if ([segue.identifier isEqualToString:@"visor3"]) {


        //Envio de datos a Segue
        if([preferencias objectForKey:@"pPacks"]!=nil){
            // for(id arreglo in retrievedDictionary){


            visor.directorio=[retrievedDictionary objectForKey:@"pack3_directorio"];
            visor.contenido=[retrievedDictionary objectForKey:@"pack3_contenido"];
            //}
        }
        else{

            datoTemporal=[datosA objectAtIndex:1];
            visor.directorio=datoTemporal.directorio;
            visor.contenido=datoTemporal.contenido;
        }
        NSLog(@"Si lo hace el segue");


    }


    else{
        NSLog(@"Fin de Loop");
    }

}

0 个答案:

没有答案