使用@property和@synthesize的任何错误

Maz*_*zzy -1 objective-c synthesize

我是Objective-C语言的新手,我正在尝试理解基本概念.我来自Java语言,所以我已经知道OOP编程的原理.这是我写的代码.它很简单,但不能正常工作.我有一些问题使用@property@synthesize

#import <Foundation/Foundation.h>

@interface Car: NSObject

@property(nonatomic,retain) NSString *brand;
@property int year;

@end //Car Interface


#import "Car.h"

@implementation Car

@synthesize brand;
@synthesize year;

@end //Car Implementation


#import "Car.h"

int main (int argc, const char * argv[])
{
    int y;

    //Creo un nuovo oggetto
    Car *myCar = [[Car alloc] init];

    //Setto i parametri
    [myCar setbrand: @"BMW Z4"];

    NSLog (@"Inserisci data modello: ");
    scanf (" %i", &y); //E' buona norma lasciare uno spazio
    [myCar setyear: y];

    //Stampo a video i dati
    NSLog(@"Marca: %@ Anno: %i", [myCar setbrand], [myCar setyear]);
}
Run Code Online (Sandbox Code Playgroud)

我不知道错误在哪里.我很确定主要功能有一些错误.以这种方式调用方法是否正确?

Fre*_*red 5

设置者必须正确地大写.

[myCar setBrand:@"BMW Z4"];
[myCar setYear:2010];
Run Code Online (Sandbox Code Playgroud)

getter默认为属性名称.

NSString *carBrand = [myCar brand];
int       carYear  = [myCar year];
Run Code Online (Sandbox Code Playgroud)