created static initWith for withable
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
6156ed18fd
commit
632f7498bc
@ -10,3 +10,14 @@ import Foundation
|
||||
public protocol Initable {
|
||||
init()
|
||||
}
|
||||
|
||||
extension Withable where Self:Initable {
|
||||
/// Provides a closure to configure instances inline.
|
||||
/// - Parameter closure: A closure with a mutable copy of `self` as the argument.
|
||||
/// - Returns: Simply returns the mutated copy of the instance after called the `closure`.
|
||||
@discardableResult public static func initWith(_ closure: (_ instance: inout Self) -> Void) -> Self {
|
||||
var copy = Self()
|
||||
closure(©)
|
||||
return copy
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user