У меня есть следующий метод, который, если я его комментирую, не задерживается при создании симулятора или обычного 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 SECONDS для запуска ... jesus ... Любая идея о том, что я должен делать неправильно? –
@PedroCabaco вы имеете в виду, что эта функция занимает 21 секунду, чтобы скомпилировать? О, МОЙ БОГ. Можете ли вы сделать то, что я упомянул в ответе, отдельно от разных функций и найти функцию «long-to-compile», а затем мы попытаемся сыграть с ней. – Sander
@Sander: спасибо за это. Я также нашел время компиляции 16000ms для одного из своих функций ... но также нашел тоны таких строк: 0.04ms \t \t get {}. И я где-то читал, что это может быть из-за отсутствия литья типов, и это может замедлить работу компилятора. У вас есть какие-нибудь идеи поделиться этим? –