场景 0.0.1-beta2

场景 0.0.1-beta2

测试测试
语言语言 SwiftSwift
许可协议 MIT
发布最后发布2016年6月
SPM支持SPM

Denis Chaschin 维护。



场景 0.0.1-beta2

  • Denis Chaschin

场景

摘要

存在许多不同的用户场景,例如某些服务的授权、消息发送、打车、照片编辑、二维码扫描、搜索航班等。

通常服务会为其提供API以便与它们集成。其中一些提供了示例来展示如何在您的应用程序中集成它们。但是,开发者需要经常从头开始编写这样的API使用,或者使用第三方库来编写。

Scenario框架旨在简化您应用程序中的用户场景集成。例如,某个服务可以提供一个供您使用的场景,然后您作为应用开发者只需按下按钮即可启动该场景。或者,您可以创建一些方便的用户场景,并在不同的应用程序中重用它们。

Scenario框架的使用相当简单。它基于Scenario协议,需要提供一种方法

func perfrom(from viewController: UIViewController, with parameters: ScenarioParameters?, callback: ScenarioResultCallback?)

人们认为用户场景应该从UIViewController开始。用户场景可能希望有一些参数,比如授权令牌或颜色方案,以便更好地适应您的应用程序设计。这些参数取决于每个场景,可能不同。我们还认为您想要收到执行结果:如果以错误结束或者成功处理,或者可能返回用户在表单中填写的一些数据。在这种情况下,向场景发送回调句柄,它会被调用。

方便场景

Scenario框架提供了一些方便的场景,以简化某些情况的处理,例如创建UINavigationController

  • ScenarioStartedFromNavigationViewController - 检查是否是UINavigationController,然后场景会被推送到它或以模态方式展示。它要求实现初始化实现createInitialViewController
  • ScenarioStartedFromModalViewController- 为以模态方式启动用户场景而提供的方便场景模板。向它提供初始化视图控制器的createInitialViewController方法。

简化场景启动

ScenarioList - 是一种可以将您需要的所有场景存储的结构。它的目的是让您一次设置不同的场景参数(例如社交网络令牌)并在不同时间开始执行场景。您可能会考虑在应用程序启动时设置参数。之后,您可以按需启动场景。比如

scenarioList.performScenario(with: "Authorization", from: currentViewController)

无需再次提供参数。在该场景运行之前,仅创建其视图控制器,因此不需要占用大量内存来存储它们。

开发

这种方法目前还处于初级阶段,因此某些API的用法可能会发生变化。但我们期望它尽可能简单,并为您提供方便地在应用中使用不同API的机会。非常欢迎您通过podspecs将您的场景添加到本存储库中。或者,添加到您存储库的链接,其中包含指向本readme文件的链接。