Skip to content

Instantly share code, notes, and snippets.

@Deub27
Deub27 / Sequence+GroupBy.swift
Created December 4, 2017 07:43
Sequence extension for group by feature
extension Sequence {
func grouped<T>(by criteria: (Element) -> T) -> [T: [Element]] {
var dict = [T: [Element]]()
for element in self {
let key = criteria(element)
if dict.keys.contains(key) == false {
dict[key] = [Element]()
}
dict[key]?.append(element)
}
@Deub27
Deub27 / CALayer+InterfaceBuilder.swift
Last active November 26, 2017 09:41
Use IB to setup border and shadow layer color
import UIKit
import QuartzCore
extension CALayer {
@objc var borderUIColor: UIColor {
set {
self.borderColor = newValue.cgColor
}
@Deub27
Deub27 / UIStackView+removeAll.swift
Created November 25, 2017 14:00
Remove all arranged subviews from UIStackView at once
import UIKit
extension UIStackView {
func removeAllArrangedSubviews() {
let removedSubviews = arrangedSubviews.reduce([]) { (allSubviews, subview) -> [UIView] in
self.removeArrangedSubview(subview)
return allSubviews + [subview]
}