导航 0.0.2

Navigation 0.0.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2017年12月
SwiftSwift 版本4.0
SPM支持 SPM

Dmitry Volosach 维护。



  • 作者:
  • Dmitry Volosach

Navigation

Navigation是一个框架,提供对iOS应用屏幕导航的另一种看法。

这个项目的理念是,平均iOS应用导航可以用一个有限状态机来表示,其中 状态 是特定的屏幕(UIViewController 类),输入 是任意用户数据。
术语

Navigation 中,我们使用以下术语

网关:一个子模块路由器。包含传输表和触发器。

  • 转运器:表示屏幕之间的传输本身。包含关于传输条件(输入和状态)和目标状态的信息。
  • 输入:用户定义的枚举值,它触发传输并使用Swift 模式在屏幕之间传递数据。
  • 入门

以下说明将帮助您在本地机器上创建项目的副本并运行,用于开发和测试目的。有关如何在实时系统上部署项目的说明,请参阅部署

先决条件

iOS 9.0+

  • Xcode 9.0+
  • Swift 4
  • 安装

CocoaPods

CocoaPods是一个Cocoa项目的依赖管理器。您可以使用以下命令安装它

CocoaPods

$ gem install cocoapods

要将Navigation集成到Xcode项目中,请在您的Podfile中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'Navigation', '~> 1.0'
end

然后,运行以下命令

$ pod install

Swift 包管理器

注意: 目前,在SPM中尚无官方支持iOS目标或相关系统库。因此,在处理之前请阅读这篇文章

您只需要在您的包规范文件中定义Navigation依赖项

import PackageDescription

let package = Package(
    name: "YourPackageName",
    products: [
        .library(name: "YourPackageName", targets: ["YourPackageName"]),
    ],
    dependencies: [
        .package(url: "https://github.com/gitvalue/Navigation.git", from: "1.0.0"),
    ],
    targets: [
        .target(
            name: "YourPackageName",
            dependencies: ["Navigation"]),
        .testTarget(
            name: "YourPackageNameTests",
            dependencies: ["Navigation"]),
    ]
)

然后运行

$ swift fetch

Carthage

Carthage是一个分散式的依赖管理器,它构建您的依赖并提供二进制框架。

您可以使用以下命令使用Homebrew安装Carthage

$ brew update
$ brew install carthage

要将Navigation集成到您的Xcode项目中,请使用Carthage在您的Cartfile中指定它

github "https://github.com/gitvalue/Navigation" ~> 1.0.0

运行carthage update --platform iOS来构建框架,然后将构建的Navigation拖到您的Xcode项目中。

有关更多信息,请参阅这篇

手动

如果您不想使用上述任何一个依赖管理器,您可以通过从源目录复制文件到您的项目中,手动将导航集成到项目中。

部署

快速开始

待定

注意

待定

版本控制

此仓库使用SemVer进行版本控制。有关可用版本,请参阅此仓库的标签

作者

  • Dmitry Volosach - 初始工作 - @vlk1994

许可证

本项目采用MIT许可证,详细信息请参阅许可证文件