我刚刚开始在Objective C中编程。这是非常简单的东西,但我想知道我的属性知识缺少什么,据我所知这应该工作,但它给了我错误:
Property 'score' not found on object of type 'Player *'
我有一个Player类,代码如下,每个粗体都是一个单独的文件
Player.h有:
#import <Foundation/Foundation.h>
@interface Player : NSObject
@property int score;
@end
Player.m有:
#import "Player.h"
@implementation Player
- (id)init {
self = [super init];
if (self){
_score = 5000;
}
return self;
}
@end
main.m有
#import <Foundation/Foundation.h>
#import "Player.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
Player *firstPlayer = [[Player alloc] init];
NSLog(@"The default score is %i", [firstPlayer score]);
}
return 0;
}
答案 0 :(得分:1)
Player.h 缺少应在#import
和@property
行之间的以下行:
@interface Player : NSObject
NSObject
可能是一个不同的类,但需要是你想要进行子类化的任何类。