Skip to content

Commit f5c6fb2

Browse files
authored
Merge pull request #51 from HuolalaTech/release/1.1.6
refine: 重要的事情说三遍
2 parents 50e6207 + 4084d19 commit f5c6fb2

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

README.md

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,27 @@ iOS | [Android](https://github.com/HuolalaTech/hll-wp-therouter-android) | [中
9999

100100
TheRouteriOS讲解视频:<https://www.bilibili.com/video/BV1px4y1Y7mX>
101101

102+
##注意事项
103+
104+
###1. 为什么会有Demo中有TheRouterApi这个类,TheRouterApi中的类是必须写的嘛。
105+
在跨模块调用时,我们无法拿到其他模块具体的类信息,那么抽象的TheRouterApi就能实现跨模块调用了。这里增加这个类仅仅作为辅助打开路由工具类而已。如果你不用也是OK的,可以直接通过 `TheRouter.openURL("scheme://router/demo?id=2&value=3&name=AKyS")`打开路由即可。
106+
###2. TheRouterApi不是注册时使用的,是跨模块调用时使用的。比如 `TheRouter.openURL(TheRouterLAApi().requiredURL)` 路由注册自动注册的,只需要实现TheRouterAble协议即可。
107+
###3. forceCheckEnable具体含义 强制打开TheRouterApi定义的便捷类与实现TheRouterAble协议类是否相同,打开的话,debug环境会自动检测,避免线上出问题,建议打开.这里都有开关,如果你觉得没必要,改为false即可,但是需要你自己讲所有跳转的地方都自己测试一遍,看看有没有失败的,当然失败在debug下会触发断言的。
108+
109+
110+
##注意事项
111+
###1. 为什么会有Demo中有TheRouterApi这个类,TheRouterApi中的类是必须写的嘛。
112+
在跨模块调用时,我们无法拿到其他模块具体的类信息,那么抽象的TheRouterApi就能实现跨模块调用了。这里增加这个类仅仅作为辅助打开路由工具类而已。如果你不用也是OK的,可以直接通过 `TheRouter.openURL("scheme://router/demo?id=2&value=3&name=AKyS")`打开路由即可。
113+
###2. TheRouterApi不是注册时使用的,是跨模块调用时使用的。比如 `TheRouter.openURL(TheRouterLAApi().requiredURL)` 路由注册自动注册的,只需要实现TheRouterAble协议即可。
114+
###3. forceCheckEnable具体含义 强制打开TheRouterApi定义的便捷类与实现TheRouterAble协议类是否相同,打开的话,debug环境会自动检测,避免线上出问题,建议打开.这里都有开关,如果你觉得没必要,改为false即可,但是需要你自己讲所有跳转的地方都自己测试一遍,看看有没有失败的,当然失败在debug下会触发断言的。
115+
116+
117+
##注意事项
118+
###1. 为什么会有Demo中有TheRouterApi这个类,TheRouterApi中的类是必须写的嘛。
119+
在跨模块调用时,我们无法拿到其他模块具体的类信息,那么抽象的TheRouterApi就能实现跨模块调用了。这里增加这个类仅仅作为辅助打开路由工具类而已。如果你不用也是OK的,可以直接通过 `TheRouter.openURL("scheme://router/demo?id=2&value=3&name=AKyS")`打开路由即可。
120+
###2. TheRouterApi不是注册时使用的,是跨模块调用时使用的。比如 `TheRouter.openURL(TheRouterLAApi().requiredURL)` 路由注册自动注册的,只需要实现TheRouterAble协议即可。
121+
###3. forceCheckEnable具体含义 强制打开TheRouterApi定义的便捷类与实现TheRouterAble协议类是否相同,打开的话,debug环境会自动检测,避免线上出问题,建议打开.这里都有开关,如果你觉得没必要,改为false即可,但是需要你自己讲所有跳转的地方都自己测试一遍,看看有没有失败的,当然失败在debug下会触发断言的。
122+
102123
## 如何集成使用
103124

104125
### [CocoaPods](https://cocoapods.org)
@@ -150,16 +171,6 @@ TheRouter.lazyRegisterRouterHandle { url, userInfo in
150171
TheRouterManager.registerServices(excludeCocoapods: false)
151172
```
152173

153-
**注意事项**
154-
为什么会有TheRouterApi这个类,在跨模块调用时,我们无法拿到其他模块具体的类信息,那么抽象的TheRouterApi就能实现跨模块调用了。 Debug下强制校验是为了保证线上没有问题,上线前最后一层保证。
155-
TheRouterApi 不是注册时使用的,是跨模块调用时使用的,比如 `TheRouter.openURL(TheRouterLAApi().requiredURL)` 路由注册自动注册的,只需要实现TheRouterAble协议即可。
156-
forceCheckEnable 强制打开TheRouterApi定义的便捷类与实现TheRouterAble协议类是否相同,打开的话,debug环境会自动检测,避免线上出问题,建议打开.这里都有开关,如果你觉得没必要,改为false即可,但是风险的话需要自己评估,跨模块这块你不知道别人会改类名啥的,这个风险是要考虑的。
157-
158-
**注意事项**
159-
为什么会有TheRouterApi这个类,在跨模块调用时,我们无法拿到其他模块具体的类信息,那么抽象的TheRouterApi就能实现跨模块调用了。 Debug下强制校验是为了保证线上没有问题,上线前最后一层保证。
160-
TheRouterApi 不是注册时使用的,是跨模块调用时使用的,比如 `TheRouter.openURL(TheRouterLAApi().requiredURL)` 路由注册自动注册的,只需要实现TheRouterAble协议即可。
161-
forceCheckEnable 强制打开TheRouterApi定义的便捷类与实现TheRouterAble协议类是否相同,打开的话,debug环境会自动检测,避免线上出问题,建议打开.这里都有开关,如果你觉得没必要,改为false即可,但是风险的话需要自己评估,跨模块这块你不知道别人会改类名啥的,这个风险是要考虑的。
162-
163174
### 路由注册
164175

165176
#### 自动化注册
@@ -242,8 +253,8 @@ TheRouter.openURL(TheRouterApi.init().requiredURL)
242253
TheRouter.openURL(TheRouterAApi.init().requiredURL)
243254
```
244255

245-
**底层自动注册,涉及到NSClassFromString,在Swift中的使用方式与OC是有区别,并不像OC可以直接往NSClassFromString()放入字符串类型的类名即可,Swift这样是找不到的。
246-
swift中由于命名空间的存在,如果还用上面的方法通过字符串动态的创建类是不可以的(得到的会是空)。swift通过字符串动态的创建类我们需要在字符串的前面加上命名空间. **
256+
底层自动注册,涉及到NSClassFromString,在Swift中的使用方式与OC是有区别,并不像OC可以直接往NSClassFromString()放入字符串类型的类名即可,Swift这样是找不到的。
257+
swift中由于命名空间的存在,如果还用上面的方法通过字符串动态的创建类是不可以的(得到的会是空)。swift通过字符串动态的创建类我们需要在字符串的前面加上命名空间.
247258

248259
#### 打开路由方式二 - scheme+paths+params
249260

0 commit comments

Comments
 (0)