對於這個問題,我是Objective-C或者C語言的新手,所以如果這個問題非常容易或者明顯,那麼請原諒我的無知。出於某種原因,我的.h文件的內容不符合我的main.m工作Objective-C .h文件不能正常工作
如果我在我的main.m頂部放置此代碼的程序編譯罰款:
@interface Person : NSObject{
NSString *_firstName;
NSString *_lastName;
int _age;
}
- (NSString *) firstname;
- (void) setFirstName: (NSString *) newFirstName andLastName:(NSString *)newLastName;
@end
但是相同我的person.h文件中的代碼給了我以下錯誤:使用未聲明的標識符Person。
這是我所有文件的代碼。
的main.m
#import <Foundation/Foundation.h>
//@interface Person : NSObject{
// NSString *_firstName;
// NSString *_lastName;
// int _age;
//}
//
//- (NSString *) firstname;
//- (void) setFirstName: (NSString *) newFirstName andLastName:(NSString *)newLastName;
//
//@end
//NSString *firstName = @"Thomas";
//NSString *lastName = @"Eggenberger";
//int age = 29;
int main(int argc, const char * argv[])
{
@autoreleasepool {
Person *person = [[Person alloc] init];
[person setFirstName:@"Thomas" andLastName:@"Eggenberger"];
// NSLog(@"Hello there, %@ %@, you are %d years old",firstName, lastName, age);
}
return 0;
}
Person.h
#import <Foundation/Foundation.h>
@interface Person : NSObject{
NSString *_firstName;
NSString *_lastName;
int _age;
}
- (NSString *) firstname;
- (void) setFirstName: (NSString *) newFirstName andLastName:(NSString *)newLastName;
@end
Person.m
#import "Person.h"
@implementation Person
- (NSString *) firstname {
return _firstName;
}
- (void) setFirstName:(NSString *)newFirstName andLastName:(NSString *)newLastName{
_firstName = newFirstName;
_lastName = newLastName;
}
@end
任何幫助不勝感激。謝謝
在我看來,你不會導入.h文件。 –