This repository contains the Xcode project files for the "Advanced SwiftUI: Testing and Optimizing SwiftUI Apps" YouTube series. Each folder within this repository corresponds to one of the four video tutorials in the series. Below, you'll find descriptions of each video along with links to the individual project subfolders and their corresponding YouTube videos.
Learn how to use Xcode's profiling tools to identify and resolve performance bottlenecks in your SwiftUI applications. This tutorial guides you through the process of making your app run smoother and faster.
Part 2: SwiftUI Performance Optimisation: How to manage Data Flow and UI Updates in your iOS and macOS apps
Discover strategies for optimizing performance by effectively managing data flow and UI updates in SwiftUI. This tutorial offers insights into keeping your app responsive and efficient.
- Project Files ImproveDataFlowProject starter
- Project Files ImproveDataFlowProject final
- Watch the Video
Part 3: The Essentials of SwiftUI View Identity: How to Ensure Reliable View Updates Across Your iOS Apps
Master the essentials of SwiftUI view identity and learn how to ensure your views update reliably across your iOS apps. This tutorial covers key concepts for maintaining view consistency.
- [Project Files ViewIdentityProject](https://github.com/your-github-username/your-repo-name/tree/main/SwiftUIViewIdentity
- Watch the Video
Improve your iOS app quality with automated UI tests. This tutorial walks you through the XCTest framework and demonstrates how to integrate UI testing into your SwiftUI app development workflow.
- Project Files ListPerformanceProject starter
- Project Files ListPerformanceProject final
- Watch the Video
To get started with the projects, clone this repository to your local machine using the following command:
git clone https://github.com/gahntpo/SwiftUIPerformance
Navigate to the specific project folder for the video you're interested in, and open the .xcodeproj
file in Xcode to start exploring and experimenting with the code.
Your feedback and contributions are welcome! If you have any suggestions or find any issues with the project files, please feel free to open an issue or submit a pull request.