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 {}。而且我在某處讀到這可能是由於缺少類型轉換,並且可能會降低編譯器速度。你有什麼見解可以分享嗎? –