Настройка пользовательского класса в 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", но это не имеет никакого эффекта.
Если у вас есть решение, я хотел бы знать это!
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.
Я должен был переписать мою логику.
В любом случае, спасибо за вашу помощь, ребята.