迅速有效地重用课程

时间:2017-05-31 01:05:48

标签: ios swift sprite-kit

我正在使用swift和spritekit开发游戏。我有一个名为Utilities的类,它有一堆在游戏中使用的泛型函数。目前我在单个游戏场景中创建Utilities类的新实例,然后将引用传递给其他类,如此

self.util = Utilities()
self.player = Player(util: self.util)
self.monster = Monster(util: self.util)

我正在这样做,所以我只创建了一个类的实例,但是我继续做的越多,就越想在每个类中创建一个新的实用程序实例,我需要它。这有什么缺点吗?只创建一个实例并传递它是否更有效,或者如果我说5或6个实例,它会不会有所作为?

2 个答案:

答案 0 :(得分:3)

理想情况下,您不需要实例化您的Utilities类。您可以在其中编写公共函数,并从您喜欢的任何地方调用这些方法。

如果你需要实例化你的类并希望保留一个实例,你应该选择单例。您可以创建像

这样的单身
class Utilities {
    static let sharedInstance = Utilities()
}

您可以通过调用Utilities.sharedInstance

来获取实例

答案 1 :(得分:0)

如果Utilities实例没有任何特定状态,那么您可能根本不需要一个类。只需将您的功能定义为公共全局功能。

Swift 不是 Java。功能可以独立存在。他们不需要被附加到班级。

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html

相关问题