CJNibSegue 0.2.0

CJNibSegue 0.2.0

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

Chijioke Ndubisi 维护。



  • 作者:
  • Chijioke Ndubisi

CJNibSegue

要求

  • Xcode 8
  • Swift 3

安装

CJNibSegue 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中

pod "CJNibSegue"

使用方法

创建标识符

创建一个符合 CJNibSegueIdentifiable 协议的 Enum - 由 RawRepresentableHashable 组成的协议

// Step 1 
// Making the enum a string makes the it conform to RawRepresentable and Hashable
enum ChatSegueIdentifiers: String, CJNibSegueIdentifiable {
    case chat
    case call
}

符合要求

源视图控制器必须

  • 符合 CJNibViewController 并实现
  • 计算属性 nibSegue: [NibSegue]? 以返回此源视图控制器所有可能的 segue
// Comform to CJNibViewController
extension SourceViewController: CJNibViewController {
    var nibSegue: [NibSegue]? {
        return [
                {
                    let destination = ChatViewController()
                    return CJNibSegue(identifier: ChatSegueIdentifiers.chat,
                         source: self,
                         destination: destination)
                  }()// call function immediately to return a NibSegue
               ]
    }

    (Optional)
    func prepare(for nibSegue: NibSegue, sender: Any?) {
        if let segue = nibSegue as? CJNibSegue<SegueIdenifiers, FirstViewController, SecondViewController> 
        { 
            switch segue.nibIdentiifer {
            case .chat:
                // set up detination
            }
        }

    }
 }

触发 segue

调用 performSegue(withIdentifier: .chat, sender: cell)

贡献

所有贡献都可通过 github issues 进行

作者

Chijioke Ndubisi, [email protected]

许可证

CJNibSegue 在 MIT 许可下可用。查看 LICENSE 文件获取更多信息。