At a Glance
Hammer
is a powerful tool for solving common tasks with classes and objects.
How To Get Started
- Copy content of
Source
folder to your project.
or
- Use
Hammer
cocoapod
Requirements
- iOS 9 and later
- Xcode 9 and later
- Swift 4
Usage
Class Name
Retrieve class name:
let classNameWithNamespace = MainViewController.hmr.fullName // "MyApplication.MainViewController"
let classNameWithoutNamespace = MainViewController.hmr.shortName // "MainViewController"
Object Conversions
Use object in external closure:
let label = UILabel().hmr.use { (label) in
label.text = "This is a label"
}.object
Use object converted to another type in external closure:
let view = SomeView().hmr.use(as: UILabel.self) { (label) in
label.text = "This is a label"
}.object
Object Retaining
Retain any object:
object.hmr.hold()
Release the object:
object.hmr.free()
Container
Any object can be easily wrapped by special container:
let number: NSNumber? = nil
let container = number.hmr.wrap()
container.value // nil
container.isNil // true
Just for Fun
You can replace any usage of hmr
with hammer emoji:
let classNameWithNamespace = MainViewController.🔨.fullName
let classNameWithoutNamespace = MainViewController.🔨.shortName
let view = SomeView().🔨.use(as: UILabel.self) { (label) in
label.text = "This is a label"
}.object
// etc.
License
Hammer
is available under the MIT license. See the LICENSE file for more info.