Compare commits
2 Commits
docs/refer
...
docs/readm
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0cceda1ad9 | ||
|
|
2cd52d3d12 |
109
README.md
109
README.md
@@ -1,94 +1,43 @@
|
||||

|
||||
|
||||

|
||||
Loverde Co. Essentials Swift Scripts
|
||||
----
|
||||
# Loverde Co. Essentials
|
||||
|
||||
This is a repository of essential scripts written in Swift for Loverde Co. used to save time on re-writing and keeping it on all other projects. So this Cocoapods will evolve with Swift and will improve with every release!
|
||||
Essential Swift scripts, extensions, SwiftUI components, and UIKit-era helpers,
|
||||
shared across Loverde Co. projects. Evolves with Swift, improves every release.
|
||||
|
||||
## Requirements
|
||||
- iOS 15.* or newer, Swift 5.* or newer.
|
||||
|
||||
## Features
|
||||
- [x] Many usefull scripts extensions
|
||||
- [x] `API` — typed async networking + multipart uploads
|
||||
- [x] SwiftUI components (`LCENavigationView`) and UIKit-era helpers
|
||||
- iOS 15 or newer · Swift 5 or newer
|
||||
|
||||
## Installation — Swift Package Manager
|
||||
|
||||
```swift
|
||||
dependencies: [
|
||||
.package(url: "https://git.loverde.com.br/Loverde-Company-LTDA/LCEssentials", .upToNextMajor(from: "2.0.0"))
|
||||
]
|
||||
```
|
||||
|
||||
Or add it in Xcode via **File ▸ Add Package Dependencies…** with the URL:
|
||||
|
||||
```
|
||||
https://git.loverde.com.br/Loverde-Company-LTDA/LCEssentials
|
||||
```
|
||||
|
||||
```swift
|
||||
import LCEssentials
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
| Guide | Covers |
|
||||
| --- | --- |
|
||||
| **[API.md](Documentation/API.md)** | `API` networking — requests, multipart uploads, client certificates, error handling, and why it beats a hand-rolled `URLSession` |
|
||||
| **[API.md](Documentation/API.md)** | `API` networking — typed requests, multipart uploads, client certificates, error handling, and why it beats a hand-rolled `URLSession` |
|
||||
| **[Extensions.md](Documentation/Extensions.md)** | Foundation / value-type / string / collection / numeric / date / crypto extensions and the `LCEssentials` namespace |
|
||||
| **[SwiftUI.md](Documentation/SwiftUI.md)** | SwiftUI components and `View` helpers |
|
||||
| **[UIKit.md](Documentation/UIKit.md)** | Programmatic layout & constraints, view/control extensions, navigation, tables, and drop-in components |
|
||||
| **[SwiftUI.md](Documentation/SwiftUI.md)** | SwiftUI components (`LCENavigationView`) and `View` helpers |
|
||||
| **[UIKit.md](Documentation/UIKit.md)** | Programmatic layout & constraints, view/control extensions, navigation, tables, and drop-in components (`LCSnackBarView`, image picker/zoom, GIF loading) |
|
||||
|
||||
---
|
||||
|
||||
Installation
|
||||
----
|
||||
#### Swift Package Manager (SPM)
|
||||
``` swift
|
||||
dependencies: [
|
||||
.package(url: "https://git.loverde.com.br/Loverde-Company-LTDA/LCEssentials", .upToNextMajor(from: "1.0.0"))
|
||||
]
|
||||
```
|
||||
Daniel Arantes Loverde — <daniel@loverde.com.br>
|
||||
|
||||
You can also add it via XCode SPM editor with URL:
|
||||
|
||||
``` swift
|
||||
https://git.loverde.com.br/Loverde-Company-LTDA/LCEssentials
|
||||
```
|
||||
|
||||
## Usage example
|
||||
|
||||
* Background Trhead
|
||||
|
||||
```swift
|
||||
LCEssentials.backgroundThread(delay: 0.6, background: {
|
||||
//Do something im background
|
||||
}) {
|
||||
//When finish, update UI
|
||||
}
|
||||
```
|
||||
* NavigationController with Completion Handler
|
||||
|
||||
```swift
|
||||
self.navigationController?.popViewControllerWithHandler(completion: {
|
||||
//Do some stuff after pop
|
||||
})
|
||||
|
||||
//or more simple
|
||||
self.navigationController?.popViewControllerWithHandler {
|
||||
//Do some stuff after pop
|
||||
}
|
||||
```
|
||||
* Networking with `API`
|
||||
|
||||
```swift
|
||||
struct User: Decodable, Sendable { let id: Int; let name: String }
|
||||
|
||||
let user: User = try await API.shared.request(
|
||||
url: "https://api.example.com/users/{id}",
|
||||
method: .get,
|
||||
pathParams: ["id": "42"]
|
||||
)
|
||||
```
|
||||
|
||||
Full guide — requests, uploads, client certificates, error handling, and why it
|
||||
beats a hand-rolled `URLSession`: **[Documentation/API.md](Documentation/API.md)**
|
||||
|
||||
## Another components
|
||||
> LCESnackBarView - **great way to send feedback to user**
|
||||
|
||||
And then import `LCEssentials ` wherever you import UIKit or SwiftUI
|
||||
|
||||
``` swift
|
||||
import LCEssentials
|
||||
```
|
||||
|
||||
Any question or doubts, please send thru email
|
||||
|
||||
Daniel Arantes Loverde - <daniel@loverde.com.br>
|
||||
|
||||
[](https://github.com/loverde-co/resume/)
|
||||
|
||||
Autor: Daniel Arantes Loverde
|
||||
[<img src="https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png" width="28" alt="GitHub">](https://github.com/loverde-co/resume/)
|
||||
|
||||
Reference in New Issue
Block a user