Estoy tratando de escribir mi primera clase en objective-c y quiero pasar un NSString objeto como parámetro de un método de la clase, sin embargo me sale un error diciendo que «no se puede utilizar un objeto como parámetro a un método». Así que mi pregunta es ¿cómo se pasa una cadena como parámetro a un método? aquí está mi código tht estoy tratando de llegar al trabajo:

#import <Foundation/Foundation.h>

@interface Car
{
    NSString *color;
    NSString *make;
    int year;
}    

- (void) print;
- (void) setColor: (NSString) c;
- (void) setMake: (NSString) m;
- (void) setYear: (int) y;


@end

@implementation Car

- (void) print
{
    NSLog(@"The $d Ford %@ is [email protected]", year, make, color);
}

- (void) setColor: (NSString) c
{
    color=c;
}

- (void) setMake: (NSString) m
{
    make=m;
}

- (void) setYear: (int) y
{
    year=y;
}


@end



int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    Car *car= [Car new];

    [car setColor:@"blue"];
    [car setMake:@"Bronco"];
    [car setYear:1992]

    [car print];
    [car release];

    [pool drain];
    return 0;
}
InformationsquelleAutor Joe | 2010-07-25

1 Comentario

  1. 16

    Que usted necesita a la mano en un puntero a la cadena de objeto. Por lo que necesita para añadir un * para el tipo de parámetro:

    f.e.

    - (void) print;
    - (void) setColor:(NSString *) c;
    - (void) setMake:(NSString *) m;
    - (void) setYear:(int) y;

    y el mismo en la aplicación

    • que totalmente trabajado, muchas gracias por tu ayuda, he estado buscando en la web para una respuesta, y tú eres el único que ha sido capaz de contestarme. así que muchísimas gracias

Dejar respuesta

Please enter your comment!
Please enter your name here