UITextField.text属性返回nil

时间:2013-04-11 14:42:10

标签: ios xcode textbox null uitextfield

我有这段代码:(nomEquipo是一个UITextField类变量)

nomEquipo = [[UITextField alloc] initWithFrame: CGRectMake(5, yPosition, modificar.frame.size.width - 10, 30)];
[nomEquipo setPlaceholder: @"Nombre del equipo"];
[nomEquipo setBorderStyle: UITextBorderStyleRoundedRect];
[nomEquipo setAutocorrectionType: UITextAutocorrectionTypeNo];
[nomEquipo setReturnKeyType: UIReturnKeyDone];
[nomEquipo addTarget: self action: @selector(ocultarTeclado:) forControlEvents: UIControlEventTouchUpInside];
[modificar addSubview: nomEquipo];

然后用其他方法:

- (IBAction) crearEquipoReal:(id)sender
{
    NSLog(@"%@",nomEquipo.text);
    if ([nomEquipo.text length] == 0)
    {
        UIAlertView *alerta = [[UIAlertView alloc] initWithTitle: @"Aviso"
                                                         message: @"Debe introducir al menos el nombre del equipo"
                                                        delegate: self
                                               cancelButtonTitle:@"Aceptar"
                                               otherButtonTitles:nil, nil];
        [alerta show];
    }
}

此NSLog返回:

2013-04-11 15:40:10.184 GeoRuta_v1[7157:907] (null)

我在UITextFields中放置文本的代码:

-(void)didChangeComboBoxValue:(AJComboBox *)comboBox selectedIndex:(NSInteger)selectedIndex
{
    if (comboBox == self.combo)
    {
        equipoActual = (Equipo *) [listaEquipos objectAtIndex: selectedIndex];
        nomEquipoActual = equipoActual.nombreEquipo
        user.idEquipo = equipoActual.idEquipo;
    }
    else if (comboBox == self.equiposMod)
    {
        Equipo *aux = (Equipo *) [listaEquiposMod objectAtIndex: selectedIndex];
        user.idEquipo = aux.idEquipo;
        descEquipo2.text = aux.descEquipo;
        nomEquipo2.text = aux.nombreEquipo;
    }
}

当我突然发生这种情况时,我感到惊讶,它已经编程了2天。

感谢您的帮助。

EDIT1: * [FIX]我修复了2个UITextField,因为我生成nomEquipo两次.... :(

1 个答案:

答案 0 :(得分:2)

nomEquipo指针可能引用了nil,这就是你看到(null)的原因。 Nil对象可以接收选择器,它们只返回nil。

在代码执行之前,您应该使用断点和控制台中的“po nomEquipo”调试代码。