This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public struct ConditionalArrayFilter <Element> { | |
| let condition: (Element) -> Bool // the condition to meet | |
| private var _array = Array<Element>() | |
| var array: Array<Element> { | |
| get { return _array } | |
| } | |
| init(condition: (Element) -> Bool) { self.condition = condition } | |
| } | |
| private extension ConditionalArrayFilter { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Foundation | |
| extension Array { | |
| mutating func prepend(newElement: Element) { | |
| self.insert(newElement, atIndex: 0) | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| func removeAllGestureRecognizers() { | |
| gestureRecognizers?.forEach(self.removeGestureRecognizer) | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import RealmSwift | |
| extension Realm { | |
| func sync<T: Object>(_ obj: T) { | |
| var beganWriteTransaction = false | |
| if !isInWriteTransaction { | |
| beganWriteTransaction = true | |
| beginWrite() | |
| } | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Foundation | |
| func setIfNotNil<T>(_ obj: inout T?, _ other: T?) { | |
| guard other != nil else { return } | |
| obj = other | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @propertyWrapper | |
| class Lazy<T> { | |
| fileprivate var loader: (()->T) | |
| fileprivate var _value: T? | |
| var projectedValue: Lazy<T> { return self } | |
| var wrappedValue: T { | |
| _value = _value ?? loader() | |
| return _value! | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Foundation | |
| public class BidirectionalMap<Left: Hashable, Right: Hashable> { | |
| private var leftToRightMapping = [Left : Right]() | |
| private var rightToLeftMapping = [Right : Left]() | |
| public subscript(left: Left) -> Right? { | |
| get { return leftToRightMapping[left] } | |
| set (newValue) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Foundation | |
| class Weak<T> { | |
| private weak var _value: AnyObject? | |
| var value: T? { return _value as? T } | |
| init(_ value: T) { | |
| _value = value as AnyObject | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| func highestKey<T, N: Comparable>(of dictionary: Dictionary<T, N>) -> T? { | |
| var highestKey: T? | |
| var highestValue: N? | |
| for key in dictionary.keys { | |
| let value = dictionary[key] | |
| if highestValue == nil || value! > highestValue! { | |
| highestKey = key | |
| highestValue = value | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public struct VSpacer: View { | |
| private let spacing: CGFloat | |
| public init(_ spacing: CGFloat) { | |
| self.spacing = spacing | |
| } | |
| public var body: some View { | |
| Spacer() | |
| .frame(idealHeight: spacing, maxHeight: spacing) |
OlderNewer