iOS外观设计模式

时间:2017-09-21 08:44:08

标签: ios objective-c delegates facade

我遵循了一个教程,该教程使用Facade设计模式来检索数据并在屏幕上显示。

这会调用一个端点,当它完成时,委托用于使用已检索的数据更新UI。 (或错误信息)

我有一个授权端点,我先检查,如果需要,一旦完成,然后调用所需的操作,即GetDataForView。

授权令牌的时间有限,我在第一次加载视图时授权然后使用应用程序,令牌过期,我需要重新请求令牌才能再次调用另一个端点。 auth委托方法返回授权,但我如何跟踪需要它知道哪个端点要调用下一个端点?

队列会在这里使用吗?

实施例

  • 呼叫端点#

    • 检查是否已授权
  • 授权

    • 授权
      • 致电端点#
    • 未经授权
      • 显示消息

使用应用

  • 想要CallEndpointB,请检查Auth
    • 授权
      • 授权
      • 委托方法现在授权给B打电话但它怎么知道?

重复过程

  • CallEndpointC

代码

A

//Call A API
- (void)callEndpointA {
  bool authorised = [self checkAuth];
  if (authorised) {
    [self endpointA];
  } else {
    [self authorise];
  }
}

- (void)callEndpointB {
  bool authorised = [self checkAuth];
  if (authorised) {
    [self endpointB];
  } else {
    [self authorise];
  }
}

调用授权端点

- (void)authorise {
  //Call Auth API
}

委托检索身份验证成功

- (void)didReceiveAuth {
  // Call next API based on which endpoint requested.
}

0 个答案:

没有答案