Skip to content

Navigator_Datasource

oliverlist edited this page Feb 8, 2021 · 10 revisions

Navigator.Datasource

Observable Object exposing routing path changes

class Datasource: ObservableObject

Inheritance

ObservableObject

Initializers

init(path:screenID:)

init(path: [IdentifiedScreen], screenID: @escaping () -> ScreenID = ScreenID.init)

init(root:screenID:)

Initialise a data source given a root screen.

convenience init<S: Screen>(root: S, screenID: @escaping () -> ScreenID = ScreenID.init)

Parameters

  • root: The application's root screen
  • screenID: Closure used to initialise ScreenIDs for new routing path elements

init(root:screenID:)

Initialise a data source given a root screen.

convenience init(root: AnyScreen, screenID: @escaping () -> ScreenID = ScreenID.init)

Parameters

  • root: The application's root screen
  • screenID: Closure used to initialise ScreenIDs for new routing path elements

init(path:screenID:)

Initialise a data source given a routing path.

convenience init(path: [AnyScreen], screenID: @escaping () -> ScreenID = ScreenID.init)

Parameters

  • path: The routing path built on Root view appear
  • screenID: Closure used to initialise ScreenIDs for new routing path elements

Properties

path

var path: [IdentifiedScreen]

screenID

let screenID: () -> ScreenID

Methods

go(to:on:)

func go(to successor: AnyScreen, on id: ScreenID)

append(path:to:)

func append(path newPath: [AnyScreen], to id: ScreenID)

goBack(to:)

func goBack(to predecessor: AnyScreen)

replace(path:)

func replace(path: [AnyScreen])

dismiss(id:)

func dismiss(id: ScreenID)

dismissSuccessor(of:)

func dismissSuccessor(of id: ScreenID) -> Void

didAppear(id:)

func didAppear(id: ScreenID)
Clone this wiki locally