Я начинаю изучать Цель C с сегодняшнего дня. У меня есть очень маленькая программа, которая напечатает мое имя и возраст. Я получаю возраст для печати, но не имя. Вместо того, чтобы печатать имя в виде строки, он печатает число. Вот код:
#import <Foundation/Foundation.h>
@interface Person : NSObject {
NSString *name;
int age;
}
-(void) setAge:(int)a;
-(void) setName:(NSString*) n;
-(int)age;
-(NSString*) name;
-(void) print;
@end
@implementation Person
-(void)setAge:(int) a{
age = a;
}
-(void)setName:(NSString*) n{
[n retain];
[name release];
name = n;
}
-(int)age{
return age;
}
-(NSString*) name{
return name;
}
-(void) print{
NSLog(@"I'm %i, i'm %i years old", name, age);
}
@end
int main (int argc, char *argv[]){
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc]init];
Person *p = [[Person alloc]init];
[p setAge: 26];
[p setName: @"Johnny"];
[p print];
[pool drain];
return 0;
}
Отсюда я получаю этот отпечаток: мне 4176, мне 26 лет.
Почему я получаю 4176?
Я не понимаю: (
Заранее спасибо