在共享单例类中添加多个方法会导致任何性能问题吗?

时间:2015-07-21 07:16:30

标签: ios objective-c singleton

在我创建的共享类中,共享类中的某些方法仅从视图控制器中调用一次。我是否需要在视图控制器类中添加这些方法?将这些方法直接添加到视图控制器中可以提高性能吗?

我知道单例实例将被分配一次并且它将保留整个应用程序,在这种情况下,来自单例类的调用方法或直接在视图控制器内添加方法并不会产生任何性能差异是我猜的!

2 个答案:

答案 0 :(得分:2)

实际上,Singleton类实例每个应用程序初始化一次。因此,理想情况下,您应该使用它来在视图控制器之间共享公共数据。

现在关于方法实现。如果这些方法正在执行与视图控制器无关的操作,例如,如果这些方法正在修改某些数据并返回到控制器,并且如果这在所有控制器中都很常见,那么您可以在Singleton类中实现它。我不认为如果你采用任何一种方法都会有任何重大的性能问题。它只是清晰编码的问题。

答案 1 :(得分:2)

如果这些方法不属于 View Controller类,则应将这些方法保持在模型类(通常是单例)中。这样你就可以实现MVC设计模式,这种模式很适合你的项目,原因有很多(请阅读一本好的设计模式书)。

性能此时您不必担心(通过将这些方法直接添加到View Controller,您几乎没有看到任何改进),但代码就绪清洁代码实践实际上会得到回报。

请记住,视图控制器用于模型和视图之间的中介控制,因此与此任务相关的任何内容都应该在View Controller代码中。