Как я передаю строку как параметр метода в цели-c?

Я пытаюсь записать свой первый класс в цели-c, и я хочу передать объект NSString в качестве параметра в методе класса, однако я получаю ошибку при высказывании, что "не может использовать объект в качестве параметра к методу". Таким образом, мой вопрос состоит в том, как Вы передаете строку в качестве параметра методу? вот мой код tht, я пытаюсь взяться за работу:

#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 $@.", 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;
}
6
задан Joe 25 July 2010 в 01:32
поделиться

1 ответ

Вам нужно передать указатель на ваш строковый объект. Поэтому вам нужно добавить * к типу параметра:

f.e.

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

и то же в реализации

16
ответ дан 8 December 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: