VIPERS-Router-Protocol 0.2.0

VIPERS-Router-Protocol 0.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2016年12月
SPM支持SPM

Jan Bartel维护。



  • 作者
  • Jan Bartel

用于iOS应用程序框架'VIPERS'的路线器实现的协议。

一开始是一个非常抽象的定义(实际信息见后;)

路由器是一个对象,它将可路由项(一个遵守空协议RoutableProtocol的对象)映射到一个特定的路由描述(一个遵守空协议RouteDescriptionProtocol的对象)。因此,它使用路由定义(一个遵守空协议RouteDefinitionProtocol的对象)从可路由映射到路由描述。因此,路由器可以将可路由转换为路由描述,并且可以运行一个闭包,该闭包将路由描述作为参数。

让我们更实际一些,VIPERS中默认实现RouterProtocol的是DefaultRouter。默认路由器将可路由的字符串映射到包含路由标识符(可路由字符串)和一些从中提取的参数的DefaultRoute。

看起来应该是这样的

let router = DefaultRouter()
let routeDefinition : String = "/testRoute/:id"

do {
    try router.addRouteDefinition(routeDefinition) { ( route : DefaultRoute ) in
        print("this block is called when router.routeAndCallHandler is called with a valid routable")
        print("identifier: \(route.identifier)")
        print("parameters: \(route.parameters)")
    }

    let route1 : DefaultRoute = try router.routeAndCallHandler("/testRoute/15")
    print("route1: \(route1)")

} catch let error {
    // implement your error handling here 
}

用法

要运行示例项目,请克隆仓库,然后首先从示例目录中运行pod install

要求

安装

VIPERS-Router-Protocol可通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile

pod "VIPERS-Router-Protocol"

作者

Jan Bartel, [email protected]

许可证

VIPERS-Router-Protocol在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。