aka*_*no1 2 iphone objective-c
我开始学习目标c,我做了一个简单的人类,我得到6个错误,期望说明者 - 限定符列表' - '令牌之前
只是想知道是否有人可以向我解释我做错了什么,
谢谢
#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;
}
Run Code Online (Sandbox Code Playgroud)
甚至更简单:
@interface Person : NSObject
@property (nonatomic, copy) NSString * firstName;
@property (nonatomic, copy) NSString * lastName;
- (NSString *) fullName;
@end
@implementation Person
@synthesize firstName, lastName;
- (NSString *) fullName {
return [NSString stringWithFormat:@"%@ %@", [self firstName], [self lastName]];
}
- (void) dealloc {
[self setFirstName:nil];
[self setLastName:nil];
[super dealloc];
}
@end
Run Code Online (Sandbox Code Playgroud)
方法声明将在闭括号之外.
@interface Person:NSObject
{
NSString *firstName;
NSString *lastName;
}
-(void) setFName:(NSString *) theFirstName;
-(void) setLName:(NSString *) theLastName;
-(NSString *) firstName;
-(NSString *) lastName;
-(void) printName;
@end
Run Code Online (Sandbox Code Playgroud)
并且在实施中不需要支撑.
@implementation Person
// { is not required
-(void) setFName:(NSString *) theFirstName {
// code
}
-(void) setLName:(NSString *) theLastName {
}
// in this way
// } is not required
@end
Run Code Online (Sandbox Code Playgroud)
至少有两个逻辑错误.在printName中
NSLog(@"The person's full name is %@ %@",firstName,lastName);
Run Code Online (Sandbox Code Playgroud)
你的格式字符串错了.
并在主要
[person setLName:@"Karimian"];
Run Code Online (Sandbox Code Playgroud)
您有用户"ser"而不是"set".
| 归档时间: |
|
| 查看次数: |
5927 次 |
| 最近记录: |