Use Sourcery and URLNavigator to generate inner router to navigator viewcontrollers
- likes: myApp://xxx.com/user_info?user_name=xxx&tel=123456789
- Annotation UIViewController and parameter
/// sourcery: router="singleParam", name = "Single Param Test Page"
class SingleParamViewController: Routable {
/// sourcery: parameter
var navTitle: String?
override func viewDidLoad() {
super.viewDidLoad()
self.title = navTitle
}
}
Call THNavigator.shared.load() after finish launching
- after build, we can use THNavigator.navigator to show page
THNavigator.navigator.push(.singleParam(navTitle: "Single param test"))
- Router string is SnakeCase style
At this example, you can type
oneclass://oneclass.com/single_param?nav_title=AAA
in Safari APP to wake up this page
Safari |
|
- Your can add annotation code to code snippets
Auto Output |
|
- then ,you can use your own shortcuts like this
MINE |
|
Annotation multi parameters
/// sourcery:begin: parameter
var codableModel: CodableModel?
var handyjsonModel: HandyJSONModel?
var mapperModel: ObjectMapperModel?
/// sourcery:end
Build parameters for Moya API
enum LoginAPI: AutoBuildParameters {
case login(userName: String, password: String?)
case logout
var moyaParameters: [String: Any] {
return parameters
}
}
Auto Output |
|
struct EquatableModel: Codable, AutoEquatable {
var uuid: String
var name: String
var tel: String
var sex: UInt?
var address: String?
}
Auto Output |
|
config |
|
- config file under the projects folder, is a hidden file
config |
|
- You can write your own templates use Stencil