diff --git a/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/01-YourFirstFeature/01-01-YourFirstFeature.tutorial b/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/01-YourFirstFeature/01-01-YourFirstFeature.tutorial index ce0175c0d759..fed52f66c2b3 100644 --- a/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/01-YourFirstFeature/01-01-YourFirstFeature.tutorial +++ b/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/01-YourFirstFeature/01-01-YourFirstFeature.tutorial @@ -145,7 +145,7 @@ sending actions to, the `store`. @Step { - We can read read a property of state directly from the `store` via dynamic member lookup, + We can read a property of state directly from the `store` via dynamic member lookup, and we can send actions to the `store` via ``ComposableArchitecture/Store/send(_:)``. @Code(name: "CounterFeature.swift", file: 01-01-02-code-0004.swift) diff --git a/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/02-AddingSideEffects/01-02-02-code-0004.swift b/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/02-AddingSideEffects/01-02-02-code-0004.swift index 2b26d70c167f..e4d21b008c8c 100644 --- a/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/02-AddingSideEffects/01-02-02-code-0004.swift +++ b/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/02-AddingSideEffects/01-02-02-code-0004.swift @@ -30,7 +30,7 @@ struct CounterFeature { return .run { [count = state.count] send in let (data, _) = try await URLSession.shared .data(from: URL(string: "http://numbersapi.com/\(count)")!) - let fact = String(decoding: data, as: UTF8.self) + let fact = String(decoding: data, as: UTF8.self)! await send(.factResponse(fact)) } diff --git a/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/03-TestingYourFeatures/01-03-TestingYourFeature.tutorial b/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/03-TestingYourFeatures/01-03-TestingYourFeature.tutorial index 0077cdebd3ee..0f333fa2ca12 100644 --- a/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/03-TestingYourFeatures/01-03-TestingYourFeature.tutorial +++ b/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/01-Essentials/03-TestingYourFeatures/01-03-TestingYourFeature.tutorial @@ -354,7 +354,7 @@ and it's the place where it is appropriate to make live network requests. > Note: Technically the dependency management system in the Composable Architecture is - > provided by another library of our, [swift-dependencies][swift-dependencies]. We split + > provided by another library of ours, [swift-dependencies][swift-dependencies]. We split > that library out of the Composable Architecture once it became clear that it could be > useful even in vanilla SwiftUI and UIKit applications. diff --git a/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/02-Navigation/01-YourFirstPresentation/02-01-YourFirstPresentation.tutorial b/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/02-Navigation/01-YourFirstPresentation/02-01-YourFirstPresentation.tutorial index 2a0f6c1bef76..8ca530563e35 100644 --- a/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/02-Navigation/01-YourFirstPresentation/02-01-YourFirstPresentation.tutorial +++ b/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/02-Navigation/01-YourFirstPresentation/02-01-YourFirstPresentation.tutorial @@ -67,7 +67,7 @@ } @Step { - Add a form to the view with a text fielid for editing the name of the contact. We can + Add a form to the view with a text field for editing the name of the contact. We can use the dynamic member lookup on `$store` to describe what piece of state you want to drive the binding, and then you can use the `sending` method to describe which action you want to send when the binding is written to. @@ -119,7 +119,7 @@ Integrate the features' states together by using the ``ComposableArchitecture/Presents()`` macro to hold onto an optional value. - A `nil` value represents that the "Add Contacts" feature is not presented, and a non-`nil` + A `nil` value represents that the "Add Contact" feature is not presented, and a non-`nil` value represents that it is presented. @Code(name: "ContactsFeature.swift", file: 02-01-02-code-0001.swift) @@ -221,7 +221,7 @@ to the `AddContactView`. > Note: If you are targeting older platforms and do not have access to `@Bindable`, you can - > instead use `@Perception.Bindable``, which comes with the library. + > instead use `@Perception.Bindable`, which comes with the library. @Code(name: "ContactsFeature.swift", file: 02-01-02-code-0009.swift) } @@ -262,7 +262,7 @@ the `AddContactFeature` to insert a new contact directly into the parent collection without any further steps. This can be powerful, but we will use delegate actions for this tutorial. To read more about `@Shared` see the article, and see the - tutorial where we see this technique, in particular in + tutorial where we use this technique, in particular in section. @Step { diff --git a/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/02-Navigation/03-TestingPresentation/02-03-TestingPresentation.tutorial b/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/02-Navigation/03-TestingPresentation/02-03-TestingPresentation.tutorial index d48b74198bef..7789d8872536 100644 --- a/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/02-Navigation/03-TestingPresentation/02-03-TestingPresentation.tutorial +++ b/Sources/ComposableArchitecture/Documentation.docc/Tutorials/MeetTheComposableArchitecture/02-Navigation/03-TestingPresentation/02-03-TestingPresentation.tutorial @@ -7,7 +7,7 @@ @Section(title: "Testing the add contact flow") { @ContentAndMedia { The first functionality we will test is adding a new contact. This entails emulating the - entire use flow of the user tapping the "+" button, typing into the name text field, + entire user flow of the user tapping the "+" button, typing into the name text field, tapping the "Save" button, and confirming that the sheet is dismissed and the new contact is added to the list. }