Skip to content

Navigator_Datasource

ohitsdaniel edited this page Mar 2, 2021 · 10 revisions

Navigator.Datasource

Observable Object exposing navigation 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 navigation 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 navigation path elements

init(path:screenID:)

Initialise a data source given a navigation path.

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

Parameters

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

Properties

path

var path: PathUpdate

screenID

let screenID: () -> ScreenID

Methods

go(to:on:)

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

go(to:on:)

func go(to newPath: [AnyScreen], on id: ScreenID)

goBack(to:)

func goBack(to id: ScreenID)

replace(path:)

func replace(path: [AnyScreen])

dismiss(id:)

func dismiss(id: ScreenID)

dismissSuccessor(of:)

func dismissSuccessor(of id: ScreenID)

replaceContent(of:with:)

func replaceContent(of id: ScreenID, with newContent: AnyScreen)

replace(screen:with:)

func replace(screen: AnyScreen, with newContent: AnyScreen)

didAppear(id:)

func didAppear(id: ScreenID)

update(path:)

private func update(path newValue: [IdentifiedScreen])
Clone this wiki locally