iOSμμ μμ£Ό μ°λ Extension / Helper λͺ¨μμ λλ€.
- iOS 15.0+
- Swift 5.9+
- Xcode 15+
Xcode β File β Add Package Dependenciesβ¦ μμ μλ URLμ μΆκ°ν©λλ€.
https://github.com/pkh0225/SwiftHelper.git
λλ Package.swift:
dependencies: [
.package(url: "https://github.com/pkh0225/SwiftHelper.git", from: "1.0.0")
]ToastView("ν
μ€νΈ").show()
ToastView("μλ¨ ν μ€νΈ", duration: 2, position: .top).show()
ToastView("κ΅μ²΄", replaceExisting: true).show()μμ°¨ μ€νμ΄ νμν ν΄λ‘μ νμ λλ€.
ActionQueue.shared.addAction { _ in
// work
}
ActionQueue.shared.nextRun()let person = Person().apply {
$0.name = "park"
$0.age = 10
}
person.run {
print($0.name)
}UIAlertController.alert(title: "μλ¦Ό", message: "μλ£λμμ΅λλ€.")
let index = await UIAlertController.alert(
title: "νμΈ",
message: nil,
cancelButtonTitle: "μ·¨μ",
otherButtonTitles: "νμΈ"
)μ€ν 리보λ/μ½λ κΈ°λ° ViewController push helperμ λλ€.
MyViewController.pushViewController()UIScrollViewheader / footer / sticky headerUIViewframe helpers, corner radius, debug maskString/Array/Dateλ± FoundationΒ·UIKit Extension@Atomic,@UserDefaultWrapperProperty Wrapperos.LoggerκΈ°λ° μΉ΄ν κ³ λ¦¬ λ‘κ±°
Example-iOS/TestSwiftHelper μν μ±μμ κΈ°λ₯μ νμΈν μ μμ΅λλ€.
| νλ©΄ | λ΄μ© |
|---|---|
| Closure Queue | ActionQueue ν
μ€νΈ |
| Scope | Scope function ν μ€νΈ |
| ToastView | Toast μμΉ/duration/νμ λ± |
Sources/SwiftHelper/
βββ Data+Extention/ # String, Array, Date β¦
βββ UI+Extention/ # UIView, UIScrollView, UIAlert β¦
βββ View/ # ToastView, DebugMaskView
βββ Scope/ # apply / run / takeIf
βββ Wrapper/ # Atomic, UserDefaultWrapper
βββ Dispatc/ # gcd helpers, ActionQueue
βββ Define/ # Closure typealias
βββ Json/ # JSONSerializable
βββ ETC/ # Logger, RouterProtocol, Queue