[WIP] WorkflowSwiftUI without ObservedObject#253
Closed
square-tomb wants to merge 5 commits intotomb/swiftui-testbed-workflowswiftuifrom
Closed
[WIP] WorkflowSwiftUI without ObservedObject#253square-tomb wants to merge 5 commits intotomb/swiftui-testbed-workflowswiftuifrom
square-tomb wants to merge 5 commits intotomb/swiftui-testbed-workflowswiftuifrom
Conversation
kyleve
reviewed
Oct 30, 2023
| import WorkflowUI | ||
|
|
||
| public extension Screen where Self: View { | ||
| func viewControllerDescription(environment: ViewEnvironment) -> ViewControllerDescription { |
Contributor
Author
Update: @mjohnson12 tested under iOS 15 and found the same broken animation for iOS.15.2.mp4 |
square-tomb
added a commit
that referenced
this pull request
Nov 1, 2023
Experiment to see if this affects the iOS 15 issue[1]. It doesn't. [1]: #253 (comment)
square-tomb
commented
Nov 1, 2023
square-tomb
added a commit
that referenced
this pull request
Nov 1, 2023
9f3c49d to
1997b06
Compare
…are/workflow-swift into tomb/swiftui-no-observableobject * 'tomb/swiftui-testbed-workflowswiftui' of github.com:square/workflow-swift: add animation(_:value:) modifier
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Experiment:
SwiftUIScreenprotocol. SwiftUI View conforms directly toScreenObservableValue. SwiftUI View has multiple, plain, value-typed properties instead of a single@ObservedObjectmodelUIHostingController.rootViewThis approach previously resulted in animation issues documented in Binding SwiftUI Views to Workflow Renderings and 2020's WorkflowView, but I saw none in the SwiftUITestbed app under Xcode 14 and iOS 16.
This approach might lead to more view body evaluations, but after my performance noodling last month, I think those evaluations are cheap as long as they don't trigger additional work in the Core Animation commit phase.