A lightweight iOS application built in Swift that fetches and updates the displayed image dynamically every time the user taps the screen or clicks a designated button.
Key Features Instant Image Refresh: Listens for user tap/click interactions to immediately pull and render a new image.
Asynchronous Image Loading: Uses native Swift concurrency (async/await or URLSession) to fetch image assets seamlessly without freezing the main UI thread.
Smooth Transitions: Includes built-in animations to fade or slide between image changes for a polished user experience.
Data Source Support: Easily configurable to pull random images from a remote REST API (e.g., Unsplash API, Picsum) or cycle through a local asset catalog.
Tech Stack & Architecture Language: Swift 5+
UI Framework: SwiftUI / UIKit
Networking: URLSession / AsyncImage
Pattern: MVVM (Model-View-ViewModel) for clean state management and separation of concerns
How It Works User Action: The user taps an image container or a "Next Image" button.
State Trigger: The tap triggers an action in the ViewModel to increment an index or execute an API fetch request.
Data Fetch: The app retrieves a fresh image URL or grabs the next asset bundle.
UI Render: The view updates automatically through reactive bindings, displaying the new picture with a smooth animation.