GitHub - RuiAAPeres/Tangerine: Swift µframework for fetching images ?
source link: https://github.com/RuiAAPeres/Tangerine
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
Tangerine ?
Tangerine is a Swift µframework for fetching Images.
Installation
Swift Package Manager
Swift Package Manager is integrated within Xcode 11, so using Tangerine in your project is a piece of cake:
- File → Swift Packages → Add Package Dependency...
- Paste the repository URL (
https://github.com/RuiAAPeres/Tangerine
) and click Next. - For Rules, either select version, branch or commit.
- Select the Target where you would like to add Tangerine. The correct one should be already selected for you.
- Click Finish.
Manual Installation
Drag the Tangerine.swift
file into your project. ?
Usage
Typically a view should have a single ImageFetcher
, and as such it’s not possible for one to fetch different images with only one instance of a ImageFetcher
. From a code point of view:
let tangerines = URL(string: "https://www.strongertogether.coop/sites/default/files/Tangerines.jpg")! let fetcher = ImageFetcher(urL: tangerines) let example = ExampleView(fetcher: fetcher)
struct ExampleView: View { @ObservedObject var fetcher: ImageFetcher init(fetcher: ImageFetcher) { self.fetcher = fetcher } var body: some View { VStack { fetcher.image.map { Image(uiImage: $0) .resizable() .aspectRatio(contentMode: .fit) } } .onAppear(perform: fetcher.refresh) } }
The actual HTTP request is done not when the ImageFetcher
is created, but when the refresh
method is called.
Tangerine also supports caching via NSCache
. You can either supply yours, or use the default one.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK