Swiftpack.co -  Sam-Spencer/Easier-CGRect as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
Sam-Spencer/Easier-CGRect
Making CGRect play nice with data storage and calculations is annoying. Easier CGRect is a straightforward Swift extension that adds critically missing / boilerplate functionality to CGRect..
.package(url: "https://github.com/Sam-Spencer/Easier-CGRect.git", from: "1.0.1")

Easier CGRect

Making CGRect play nice with data storage and calculations is annoying. That's fixed with a simple extension.

Installation

  1. Drag the file into your Xcode project.
  2. That's it.

Or, you can use Swift Package Manager if your heart so desires.

Usage

Directly access NSNumber values for CGRect properties without needing to write repetitive boilerplate code that converts origin and size values.

let bounds = CGRect.init(x: 10, y: 10, width: 100, height: 300)
    
// CGRect extension lets you retrieve an NSNumber for any x, y, width, or height value
let heightForCoreData: NSNumber = bounds.number(from: .height)
    
// CGSize extension lets you directly retrieve the number value as a calculated property
let heightFromCGSizeForCoreData: NSNumber = bounds.size.heightNumber

Directly access Float values for CGRect to quickly perform type-safe, value-guaranteed calculation. Again, without needing to write repetitive boilerplate code that converts origin and size values.

let frame = CGRect.init(x: 10, y: 10, width: 100, height: 300)
    
// CGRect extension lets you retrieve an Float for any x, y, width, or height value
let xForCalculation: Float = bounds.float(from: .x)
    
// CGPoint extension lets you directly retrieve the float value as a calculated property
let xFromCGPointForCoreData: Float = bounds.origin.xFloat

GitHub

link
Stars: 2
Last commit: 3 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Release Notes

SPM and Unit Tests
1 year ago

Added support for Swift Package Manager. Unit Tests now cover the code base, ensuring that things work as expected!

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics