¿Cómo puedo pasar una cadena como parámetro de método en objective-c?

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 Kommentar

  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

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea