我开始学习Objective C,我做了一个简单的人上课,我得到6次失误, 预计符限定符列表前“ - ”令牌目标C一个简单的人类
只是想知道,有人能向我解释,我做错了什么,
感谢
#import <Foundation/Foundation.h>
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>
@interface Person:NSObject
{
NSString *firstName;
NSString *lastName;
-(void) setFName:(NSString *) theFirstName;
-(void) setLName:(NSString *) theLastName;
-(void) printName;
}
@end
@implementation Person
{
-(void) setFName:(NSString *) theFirstName
{
firstName = [[NSString alloc]initWithString: theFirstName];
}
-(void) setLName:(NSString *) theLastName
{
lastName = [[NSString alloc]initWithString: theLastName];
}
-(void) printName
{
NSLog(@"The person's full name is",firstName,lastName);
}
}
@end
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
Person *person = [[Person alloc] init];
[person setFName:@"Amir"];
[person setLName:@"Karimian"];
[person printName];
[person release];
[pool drain];
return 0;
}
任何理由不宣布'firstName'和'lastName的'使用'@ property'? – 2010-12-20 15:53:21
另外,您可以在初始化程序中设置姓氏和名字。 – Abizern 2010-12-20 16:06:22
而且,既然你提到iPhone,就没有内存管理代码。 autorelease池不会影响你的Person类,因为你还没有自动释放任何东西。习惯现在考虑内存管理,否则你以后会遇到问题。 – Abizern 2010-12-20 16:08:45