1
我花了很多时间编译生成报告,只是为了弄清楚为什么用Swift3编译Xcode 8.2.1需要很长时间。Swift3:为什么这个简单的代码块需要很长时间才能编译
我发现的一个问题是一个简单的覆盖init函数,其中简单的内容花费大约45秒来进行类型检查/编译。我想不出什么原因。我试图分解成函数,在需要时提供类型,但仍需要很长时间才能编译。
超类MyScene正在从SKScene进行调用,只是有一个函数在场景中调用removeAllActions。
继承人的代码:
class LevelSelectionScene: MyScene {
var gameMode:GameMode
var levelSelectionLayer:SKNode!
var screenSize:CGSize!
var startingPoint:CGPoint!
var backButton: Button!
fileprivate var _buttonBg : SKSpriteNode!
fileprivate var _layerTouched : Bool = false
fileprivate var _touchPress : Bool = false
override init(size: CGSize) {
self.screenSize = UIScreen.main.bounds.size
self.gameMode = GameMode.Classic
let tileGap:CGFloat = Constants.Config.LevelSelection.tilegap
let tileWidth:CGFloat = Constants.Config.LevelSelection.tilewidth
let numX:CGFloat = screenSize.width/(tileWidth+tileGap)
self.levelSelectionLayer = SKNode()
self.levelSelectionLayer.zPosition = 100
self.startingPoint = CGPoint(x: (-numX*(tileWidth+tileGap))/2+tileWidth/2+tileGap, y: 0)
super.init(size: size)
}
...