美文网首页
iOS开发中路由跳转之target open

iOS开发中路由跳转之target open

作者: 梁森的简书 | 来源:发表于2021-08-03 12:08 被阅读0次

注册到路由表中的VC默认是使用target open的方式进行跳转。
通过URL找到对应的VC后将URL中参数、URL、回调(这三个属性是通过关联对象写在了VC的extension中)赋值给目标VC,然后进行跳转。
跳转一般分为push和present,跳转的方式也是通过VC的一个属性(同样是关联对象)来确定。
代码

//target open
        if targetClass is UIViewController.Type{
            var targetObj:UIViewController? = nil
            if let cls = targetClass as? HYRoutable.Type {
                targetObj = cls.initWithRouterParams(combineParams)
            }else {
                targetObj=(targetClass as! UIViewController.Type).init()
            }
            targetObj!.routerParams = combineParams
            targetObj!.routerURL = url
            targetObj!.routerCompletion = completion
            //pagemode
            return targetObj!.pageOpenMode.open(target: targetObj!)
        }

相关文章

网友评论

      本文标题:iOS开发中路由跳转之target open

      本文链接:https://www.haomeiwen.com/subject/bnzsvltx.html