2010-07-25 7 views
6

Я пытаюсь написать свой первый класс в объекте-c, и я хочу передать объект NSString в качестве параметра в методе класса, однако я получаю сообщение об ошибке «Нельзя использовать объект в качестве параметра для метода ». Итак, мой вопрос: как передать строку в качестве параметра методу? вот мой код, который я пытаюсь получить на работу:Как передать строку в качестве параметра метода в объекте-c?

#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; 
} 

ответ

15

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

f.e.

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

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

+0

, который полностью работал, спасибо за вашу помощь я искал в Интернете для ответа, и вы единственный, кто смог ответить мне , так спасибо кучу – Joe

Смежные вопросы