Xcode 6 雪碧套件 - 如何实现"initwithsize"



我对SpriteKit相对较新,自从升级到Xcode 6以来遇到了一些问题。

最初,当我创建项目时,我将任何方法输入到"initWithSize"中。

-(id)initWithSize:(CGSize)size {    
if (self = [super initWithSize:size]) {  

}
return self;
}

在 Xcode 6 中启动项目时,这似乎不再是默认设置,而是替换为:

-(void)didMoveToView:(SKView *)view {}

当尝试应用 initwithsize 时,它只是不起作用,或者不加载我放在里面的精灵节点。即使在尝试创建新文件时,我也不再看到 .m 和 .h 文件。我有其他选项可供选择,其中没有一个是 .h/.m。

所以1) 我如何继续像以前使用 initwithsize 一样编码?2)创建新文件有什么关系,我可以不再创建.m/.h类了吗?

有关这些的任何信息将不胜感激。

这是因为场景的创建方式与以前的 Xcode 版本不同。现在,场景不是使用 initWithSize: 在视图控制器中手动创建的,而是使用模板中附带的方法 unarchiveFromFile: (可能是 GameViewController.m)取消存档。因此,initWithSize: 不会被调用。你需要使用 initWithCoder: 代替。

- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        // stuff
    }
    return self;
}

就您问题的第二部分而言,这就是Xcode 6中的情况。您仍然可以创建新文件,只是不再有类别/等内容的模板选项。

最新更新