ObjC - Cambio NSTextField stringValue causa EXC_BAD_ACCESS

votos
0

Que funciona

Tengo una vista con una NSTextFieldy un botón:

Cuando hago clic en el botón, una tarjeta se crea con un título igual a la cadena en el cuadro de texto. Si no se introduce ningún texto, complejos y título de la tarjeta a un valor predeterminado.

Problema

Esto funciona bien, pero me gustaría cadena del cuadro de texto para reiniciar cada vez que hago clic en el botón. Así que he añadido [inputField setStringValue:@];a tratar de hacer esto, pero Xcode me da un EXC_BAD_ACCESSproblema al intentar acceder a aCard's myTitlemiembro al intentar acceder a la Card' sdrawRect método.

¿Por qué sería restablecer inputField's stringValuecausa de este error?

Código y capturas de pantalla

Desde el método del botón de prensa:

if (![inputField.stringValue  isEqual: @])
{
    [aCard setStringTitle:inputField.stringValue];
    [inputField setStringValue:@]; // this line causes a problem!
}

Aquí está la tarjeta de setStringTitlemétodo:

-(void)setStringTitle:(NSString *)aString
{
    myTitle = aString;
    [[self viewWithTag:0] setStringValue:myTitle];
} 

Y de la tarjeta de drawRectmétodo:

- (void)drawRect:(NSRect)dirtyRect
{
    [super drawRect:dirtyRect];

    // Drawing code here.
    [myColor set];
    NSRectFill([self bounds]);

    NSLog(@My title: %@,myTitle);
    NSTextField* cardTitle = [[NSTextField alloc] initWithFrame:NSMakeRect(10, 10, 80, 30)];
    [cardTitle setStringValue:myTitle];
    [cardTitle setBezeled:NO];
    [cardTitle setEditable:NO];
    [cardTitle setDrawsBackground:NO];
    [cardTitle setSelectable:NO];
    [self addSubview:cardTitle];
    NSLog(@string title is added within card class);

}

introducir introducir

Publicado el 30/05/2014 a las 21:27
fuente por usuario
En otros idiomas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more