【发布时间】:2016-01-18 10:06:24
【问题描述】:
我有一个单例类,它只用作我的应用程序的 Web 服务调用。假设该类被命名为MySingleTonClass。现在为了获取各种数据,我调用了类的不同方法。
eg. [[MySingleTonClass sharedInstance] getDataFromServer];
现在我的问题是,在某些时候我必须进行嵌套 Web 服务调用(在完成另一个 API 调用时调用 API)。我正在使用这个唯一的类来执行所有 API 调用,因为这是一个单例,它会工作吗?或者我什至在后续行中调用这个类的方法。
line 1 - [[MySingleTonClass sharedInstance] getDataFromServer];
line 2 - [[MySingleTonClass sharedInstance] getOtherDataFromServer];
这也行吗? 据我了解,单例实例只会在内存中保留一次。这是一次它的一个实例。因此,如果在 sharedInstance 已经完成工作时调用 sharedInstance,(已经在内存中)按计划工作?或者我应该将 WebServiceCall 类更改为普通类并每次都创建对象,因为这会使该类一次具有多个对象,因此同时进行多个 API 调用。
请提前建议。谢谢。
编辑
单例类内部实现了 AFNetworking 方法
【问题讨论】:
-
你不应该把它作为单例类。您始终必须为您的 Web 服务类创建一个新实例。
-
@BharathVankireddy 这并不总是正确的。如果您使用的是 AFNetworking,则并不总是需要一个新实例。它以操作的形式访问所有 api 并将其添加到其队列中。这些不是同时运行的。