Настройка пользовательского класса в Xcode работает для симулятора iOS 9.1, но не для iOS 8.4

Я сделал игру, в которой мне нужно привести отобранный SKSpriteNode в пользовательский класс. Он отлично работает на симуляторе iOS 9.1, но в симуляторе iOS 8.4 его невозможно воспроизвести.

В iOS 9.1 мой класс - это тип MyCustomClass, но в iOS 8.4 это SKSpriteNode. Больше ничего не меняется, только симулятор ОС.

Я установил пользовательский класс непосредственно в XCode в SpriteKit GameScene (я щелкаю по узлу и использую правую вкладку, чтобы ввести "MyCustomClass" в разделе "Пользовательский класс"). Я попытался добавить имя проекта, как в "Project.MyCustomClass", но это не имеет никакого эффекта. Как я устанавливаю свой собственный класс в Сцена Spritekit

Если у вас есть решение, я хотел бы знать это!

if self.nodeAtPoint(location).isKindOfClass(MyCustomClass) {
    print("Is my class") //This is the result in iOS 9.1
}else if self.nodeAtPoint(location).isKindOfClass(SKSpriteNode){
    print("Is an SKSPriteNode") //This is the result in iOS 8.4
}else if self.nodeAtPoint(location).isKindOfClass(SKNode) {
    print("Is an SKNode")
}

if let touchedNode = self.nodeAtPoint(location) as? Objet {
    //Fails on iOS 8.4 but succeed in iOS 9.1
}

Спасибо за ваше время.

PS: я использую Xcode 7.1.1.

1 ответ

Решение

К сожалению, пользовательские классы (или подклассы) просто не работают на iOS 8.4.

Я должен был переписать мою логику.

В любом случае, спасибо за вашу помощь, ребята.

Другие вопросы по тегам