CodeQuickKit

7.0.0

A Swift library simplifying some everyday tasks.
richardpiazza/CodeQuickKit

What's New

CodeQuickKit 7.0.0

2022-11-11T18:50:20Z

Version 7.0 of CodeQuickKit 😲

Highlights of this release:

  • Lightweight dependency management using property wrappers.
  • A property wrapper for accessing UserDefaults.
  • Activity Alert (UIKit and SwiftUI)
  • Mac Catalyst support
  • Deprecation cleanup

CodeQuickKit

A Swift library for simplifying some everyday tasks.

Twitter: @richardpiazza

💻 Installation

This software is distributed using Swift Package Manager. You can add it using Xcode or by listing it as a dependency in your Package.swift manifest:

let package = Package(
  ...
  dependencies: [
    .package(url: "https://github.com/richardpiazza/CodeQuickKit", .upToNextMajor(from: "7.0.0")
  ],
  ...
  targets: [
    .target(
      name: "MyPackage",
      dependencies: [
        "CodeQuickKit"
      ]
    )
  ]
)

📌 Features

Features in this project are largely grouped around how the apply-to or extend existing frameworks:

Swift Core Library

  • Dependency Management: DependencyCache offers a singleton approach to managing service and configuration dependencies throughout an application. The cache is configured by passing a DependencySupplier to the configure(with:) function. A dependency can be directly resolved from the cache using resolve<T>() throws -> T, or the Dependency property wrapper can be used to lazily reference as needed:

    @Dependency private var someService: SomeService

Foundation

  • UserDefaults: UserDefault is a property wrapper designed to interact with the UserDefaults storage.

    @UserDefault("counter", defaultValue: 0) var counter: Int

UIKit

  • UIAlertController.ActivityAlertController:

    This hack creates a alert dialog with a progress indicator and optional title/messaging strings.

SwiftUI

  • ActivityAlertView

    A SwiftUI workaround for using the ActivityAlertController. (UIKit Only)

🛠 Wanna Help?

Contributions are welcome and encouraged! See the Contribution Guide for more information.

Description

  • Swift Tools 5.5.0
View More Packages from this Author

Dependencies

  • None
Last updated: Sat Mar 16 2024 09:10:11 GMT-0900 (Hawaii-Aleutian Daylight Time)