我有以下代码:
#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 *’类型的参数”
当它被明确指定为游戏类型时,为什么它认为这是一个 int *?