Xcode 7 Swift 2 - 如何使用 .SKS 文件初始化视图?

Xcode 7 Swift 2 - How can I initialize a view with a .SKS file?

我到处寻找有关如何从 .SKS 文件初始化视图的示例。我发现的每个例子现在似乎都随着 Swift 2 和 Xcode 7 的引入而被打破。我正在使用 Xcode 7 GM。

有人可以举例说明如何以最快的方式执行此操作吗?

编辑* 在将其标记为重复之前,请注意 iOS 版本和 Xcode 版本。

我从 SpriteKit 示例项目中复制了我的代码。我现在在上班,如果你需要的话,我可以在这个周末将它转换为 Swift。在 Xcode 7 中运行,在 iOS 9.1.

@implementation SKScene (Archiving)

+ (instancetype)unarchiveFromFile:(NSString *)file {
  /* Retrieve scene file path from the application bundle */
  NSString *nodePath = [[NSBundle mainBundle] pathForResource:file ofType:@"sks"];
  /* Unarchive the file to an SKScene object */
  NSData *data = [NSData dataWithContentsOfFile:nodePath
                                        options:NSDataReadingMappedIfSafe
                                          error:nil];
  NSKeyedUnarchiver *arch = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
  [arch setClass:self forClassName:@"SKScene"];
  SKScene *scene = [arch decodeObjectForKey:NSKeyedArchiveRootObjectKey];
  [arch finishDecoding];

  return scene;
}

@end

// ...

@implementation VTMillScene

+ (instancetype)loadMill {
  return [self unarchiveFromFile:@"mill"]; // loads "mill.sks"
}

@end