EXC_BAD_ACCESS в быстром - PullRequest
       8

EXC_BAD_ACCESS в быстром

0 голосов
/ 13 апреля 2020

За последние несколько лет я делал для себя забавные маленькие игры, все, что я знаю о кодировании, прочитано в Интернете, поэтому я очень неопытен. Я недавно начал работать со SceneKit и не получаю повторного исправления ошибок доступа. Все они, кажется, приходят на мои if let n = scene.rootnode.childnode звонки, которые вы можете увидеть ниже, и я не уверен почему. Я знаю, что узел, который я вызываю, существует и имеет правильное имя. Я могу запустить один и тот же сценарий 5 раз подряд, и 2 из них приведут к ошибке неверного доступа. Точный код ошибки - EXC_BAD_ACCESS (код = EXC_I386_GPFLT). Я прочитал несколько вещей об этой ошибке и попытался с помощью команды K очистить консоль, но это не помогло. Я получаю эту ошибку как на симуляторе, так и на реальном устройстве. Любой совет или знания будут оценены. Спасибо.

@objc func waveTick() {
    let teamDef = -1*teamInv + 3
    var num1 = 0
    let nodesCur = actNodes[teamInv-1]
    while (num1 < nodesCur.count){
        num1 += 1
        if let n = scene.rootNode.childNode(withName: "NODE" + String(nodesCur[num1-1]), recursively: false) as? HelpNode {
            if (n.tick == tick && n.invador) { 
               enemyBrain(enemy: n)
            }
        }
    }
...