At a Glance
Hammer is a powerful tool for solving common tasks with classes and objects.
How To Get Started
- Copy content of
Sourcefolder to your project.
or
- Use
Hammercocoapod
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"
}.objectUse object converted to another type in external closure:
let view = SomeView().hmr.use(as: UILabel.self) { (label) in
label.text = "This is a label"
}.objectObject 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 // trueJust 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.

