Ich arbeite derzeit an einem Spiel mit Swift und Spritekit. Ich habe eine Klasse namens Utilities
, die eine Reihe von generischen Funktionen hat, die rund um das Spiel verwendet werden. Ich erstelle derzeit eine neue Instanz der Klasse Utilities
in meiner einzigen Spielszene, und dann die Verweise passiert obwohl auf andere Klassen wie soswift effizient Klassen wiederverwenden
self.util = Utilities()
self.player = Player(util: self.util)
self.monster = Monster(util: self.util)
ich das tue, so dass ich nur eine Instanz der Klasse erstellen, Aber je mehr ich gehe, desto mehr will ich eine neue Instanz von Utilities in jeder Klasse machen, in der ich sie brauche. Gibt es da einen Nachteil? Ist es effizienter, nur die eine Instanz zu erstellen und weiterzugeben, oder wird es keinen Unterschied machen, wenn ich 5 oder 6 Instanzen sage?
Warum müssen Sie die 'Utilities' Klasse instanziieren? Sie können nur Funktionen auf Klassenebene in dieser Datei behalten und sie von wo immer Sie wollen aufrufen. –
Swift ist nicht Java. Sie benötigen keine Klasse, um generische Funktionalität zu umbrechen. Sie können sie einfach als globale Funktionen haben. (Ich denke) – hasen