私は次のコードを持っています:
#import <Foundation/Foundation.h>
#import "Game.h"
@interface World : NSObject
@property (nonatomic, strong) Game *game;
+(id)sharedInstance;
//---------------------------------------
#import "World.h"
@implementation World
@synthesize game = _game;
+(id)sharedInstance {
DEFINE_SHARED_INSTANCE_USING_BLOCK(^{
return [[self alloc] init];
});
}
しかし、ゲームのプロパティを設定しようとすると:
-(id)initWithLevelIdentifier:(int)identifier {
if (self = [super init]) {
self.currentLevel = [[Level alloc] initWithIdentifier:identifier];
// stuff
[[World sharedInstance] setGame:self];
}
return self;
}
「'Game *__strong' 型の左辺値で 'int *' 型のパラメーターを初期化できません」
Game 型として明確に指定されているのに、これが int * であると考えるのはなぜですか?