SwiftyCast is a lightweight framework for easily casting objects to an from UnsafeRawPointer
types for iOS, macOS, tvOS, and watchOS.
SwiftyCast is available through CocoaPods, Carthage and the Swift Package Manager.
To install via CocoaPods, simply add the following line to your Podfile:
pod 'SwiftyCast'
To install via Carthage, simply add the following line to your Cartfile:
github "SomeRandomiOSDev/SwiftyCast"
To install via the Swift Package Manager add the following line to your Package.swift
file's dependencies
:
.package(url: "https://github.com/SomeRandomiOSDev/SwiftyCast.git", from: "1.0.0")
First import SwiftyCast at the top of your Swift file:
import SwiftyCast
After importing, the use is as simple as calling one of four functions:
// For casting to or from a raw pointer
unsafeBridgingCast(_:)
// For casting to a raw pointer while incrementing the retain count of the object
unsafeBridgingRetain(_:)
// For casting from a raw pointer while decrementing the retain count of the object
unsafeBridgingRelease(_:)
// For casting to or from a raw pointer but only in the context of a callback block
withUnsafeBridgingCast(_:body:)
If you have need for a specific feature or you encounter a bug, please open an issue. If you extend the functionality of SwiftyCast yourself or you feel like fixing a bug yourself, please submit a pull request.
Joe Newton, somerandomiosdev@gmail.com
SwiftyCast is available under the MIT license. See the LICENSE
file for more info.