Sono molto nuovo allo sviluppo di iOS, ma ho giocato con l'app modello SpriteKit per imparare come funzionano le cose e provare a fare il boot su Swift mentre ci sono. Una cosa che ho problemi è come lavorare con le sottoclassi SpriteKit.Sottoclasse classi SpriteKit in Swift
Sono nel file GameScene.swift e sto cercando di estrarre una classe per l'etichetta "Ciao Mondo", ecco questo che quel file assomiglia:
// GameScene.swift
import SpriteKit
class HelloLabel: SKLabelNode {
init(fontNamed: String) {
super.init(fontNamed: fontNamed)
self.text = "Hello, World!"
self.fontSize = 65;
self.position = CGPoint(x: 400, y: 500);
}
}
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
/* Setup your scene here */
// let myLabel = SKLabelNode(fontNamed:"Chalkduster")
// myLabel.text = "Hello, World!";
// myLabel.fontSize = 65;
// myLabel.position = CGPoint(x: 400, y: 500);
let myLabel = HelloLabel(fontNamed: "Chalkduster")
self.addChild(myLabel)
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
/* snip, no changes made here */
}
override func update(currentTime: CFTimeInterval) {
/* snip, no changes made here */
}
}
Quindi, HelloLabel
è destinato di essere solo un pass-through, nel tentativo di capire come legare tutto insieme, ma quando faccio funzionare l'applicazione, ottengo il seguente errore:
/Users/jon/Projects/ErrorExample/ErrorExample/GameScene.swift: 11: 11: fatal error: use of unimplemented initializer 'init()' for class 'ErrorExample.HelloLabel'
non sto capire cosa questo messaggio sta cercando di dirmi . Il modo in cui leggo questo errore è che si lamenta che non ho implementato un inizializzatore chiamato init
nella classe ErrorExample.HelloLabel
, ma sicuramente sembra che io abbia me!
Quindi, cosa sto facendo male qui - come si estrae una classe per nascondere tutto questo setup?
Awesome, grazie per l'aiuto !! :) – jonallured