https://github.com/vorkhlikartem/itunesnetworksearch
For searching movies, books, music, apps in ITunes
https://github.com/vorkhlikartem/itunesnetworksearch
actors async-await compositional-layout concurrency diffable-datasource itunes-api swift
Last synced: 2 months ago
JSON representation
For searching movies, books, music, apps in ITunes
- Host: GitHub
- URL: https://github.com/vorkhlikartem/itunesnetworksearch
- Owner: VorkhlikArtem
- Created: 2022-11-03T19:36:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-17T14:10:25.000Z (about 2 years ago)
- Last Synced: 2025-01-24T15:41:57.805Z (4 months ago)
- Topics: actors, async-await, compositional-layout, concurrency, diffable-datasource, itunes-api, swift
- Language: Swift
- Homepage:
- Size: 156 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# iTunes App
The app allows searching different media types in ITunes: movies, books, music, apps. It provides 2 viewing modes of items: single row mode(TableView) and 3 items in a row(CollectionView).## About Techniques
- ITunes API for fetching tracks
* Concurrency:
* async/await
* Task (for creating concurrent environment) with capability of cancellation if a result won't be useful
* ThrowingTaskGroup for running multiple child tasks
* actors (@MainActor)- KeyedDecodingContainer for decoding fetched data from the network
- UICollectionView Compositional Layout & UICollectionView Diffable Datasource
- Container View for displaying 2 child VCs: Collection and Table VCs
- perform(_:with:afterDelay:inModes:) for delaying requests from search bar input## Screenshots
![]()
![]()
![]()
![]()
![]()
![]()
## Requirements
- IOS 13.0+
- IPhone 7+
- XCode 13.0+