代码之家  ›  专栏  ›  技术社区  ›  Mohmmad S

扩展是否每次都返回新实例

  •  -1
  • Mohmmad S  · 技术社区  · 6 年前

    考虑这种情况,在 extension ,像这样。

    extension UIViewController {
        var apiClient: APIClient {
            return APIClientImplementation()
        }
    }
    

    每次我从不同的 UIViewController ,如果是,这会如何影响内存?

    如果不能,这会导致一个问题,那就是我得到的所有 ui视图控制器 我在中使用这个实例,正如您所说, APIClient 用于注入到 GateWay 同学们,这会导致将来的问题吗?

    注释 : 网关 类是我用来执行API请求的类实例,每个服务块都有自己的网关。

    我知道我可以使用协议在 ui视图控制器 每次创建实例。

    我试图实现的是在将来用更少的问题编写更少的代码,并删除不必要的代码块。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Kamran    6 年前

    是的,每次你进入 apiClient 从任何 viewController ,的新实例 APIClient 将被退回。

    AS 优等的 变量是 get only 所以这本身就不会引起任何内存问题。