Skip to content

Instantly share code, notes, and snippets.

View stzn's full-sized avatar

shiz stzn

View GitHub Profile
import UIKit
import MobileCoreServices
class PastePlan: NSObject, NSItemProviderReading, NSItemProviderWriting, Codable {
let plan: Plan
init(_ plan: Plan) {
self.plan = plan
}
static var readableTypeIdentifiersForItemProvider: [String] = [(kUTTypeJSON) as String]
static var writableTypeIdentifiersForItemProvider: [String] = [(kUTTypeJSON) as String]
@stzn
stzn / ViewDecoratorUsingFunctionSample.swift
Last active October 28, 2018 07:45
Sample for view decoration
import UIKit
import PlaygroundSupport
precedencegroup ForwarderApplication {
associativity: left
}
infix operator |> : ForwarderApplication
func |> <A, B>(x: A, f: (A) -> B) -> B {
return f(x)
}
@stzn
stzn / WantToAvoidWeakStrongDance.swift
Created October 11, 2018 00:15
Try To Avoid Weak-Strong Dance
func weakToStrong<T: AnyObject>(on target: T, block: ((T) -> Void)?) -> Void {
return { [weak target] in
guard let target = target else {
return
}
block?(target)
}()
}
import UIKit
import PlaygroundSupport
struct Decorator<View: UIView> {
let decorate: (View) -> View
}
func decorate<View: UIView>(_ view: View, with decorator: Decorator<View>) -> View {
return decorator.decorate(view)
}
// https://medium.com/halcyon-mobile/view-decoration-in-swift-4023a68be5d3
import UIKit
import PlaygroundSupport
protocol ViewDecorator {
associatedtype View: UIView
func decorate(view: View)
}