1
我有以下方法,如果我评论它,在模拟器或常规iPhone上构建时不会有任何延迟。 如果我使用这种方法,它会在运行之前延迟很多时间。索引处理文件Xcode超级缓慢构建并运行
下面的代码
func createFirstRowView() {
let b = SKSpriteNode(imageNamed: "obj_bg_card1")
b.xScale = 0.8
b.yScale = 0.8
r = SKShapeNode(rectOf: CGSize(width: b.size.width*4, height: b.size.height))
r.position = CGPoint(x: frame.midX, y: frame.midY)
//r.strokeColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0)
self.addChild(r)
for i in 0..<4{
let bg = SKSpriteNode(imageNamed: "obj_bg_card1")
bg.xScale = 0.8
bg.yScale = 0.8
let lel = 0.5 + (Double(i)*1)
bg.position = CGPoint(x: -bg.size.width*2 + bg.size.width*CGFloat(lel), y: 0)
r.addChild(bg)
}
r.position = CGPoint(x: frame.midX, y: frame.midY*1.4)
let q = SKSpriteNode(imageNamed: "obj_bg_card1")
q.xScale = 0.8
q.yScale = 0.8
t = SKShapeNode(rectOf: CGSize(width: q.size.width*4, height: q.size.height))
t.position = CGPoint(x: frame.midX, y: frame.midY)
//t.strokeColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0)
self.addChild(t)
for k in 0..<4{
let bg = SKSpriteNode(imageNamed: "obj_bg_card1")
bg.xScale = 0.8
bg.yScale = 0.8
let lel = 0.5 + (Double(k)*1)
bg.position = CGPoint(x: -bg.size.width*2 + bg.size.width*CGFloat(lel), y: 0)
t.addChild(bg)
}
t.position = CGPoint(x: frame.midX, y: frame.midY*0.6)
}
我看,这是由于代码效率低下......任何人能发现我的错误造成的?
采取谢谢您的帮助!这个函数需要21秒才能运行...耶稣...任何想法我应该做错了什么? –
@PedroCabaco你是说,这个函数需要21秒才能编译?我的天啊。你能做什么,我在答案中提到的,分开到不同的功能,并找到“长编译”功能,然后我们将尝试玩它。 – Sander
@桑德:谢谢你。我也发现了一个16000ms的编译时间,我的功能之一......但也发现了这样的线条色调:0.04ms \t \t get {}。而且我在某处读到这可能是由于缺少类型转换,并且可能会降低编译器速度。你有什么见解可以分享吗? –