32 lines
679 B
Swift
32 lines
679 B
Swift
//
|
|
// UIGestureRecognizer + Closures.swift
|
|
// Wallet
|
|
//
|
|
// Created by Saveliy Stavitsky on 9/9/20.
|
|
// Copyright © 2020 List. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
// MARK: - REFACTOR
|
|
|
|
private var target = [Target]()
|
|
|
|
extension UIGestureRecognizer {
|
|
convenience init(trailingClosure closure: @escaping () -> Void) {
|
|
self.init()
|
|
target.append(Target(closure))
|
|
self.addTarget(target.last!, action: #selector(Target.invoke))
|
|
}
|
|
}
|
|
|
|
private class Target {
|
|
private var trailingClosure: () -> Void
|
|
init(_ closure: @escaping () -> Void) {
|
|
trailingClosure = closure
|
|
}
|
|
@IBAction func invoke() {
|
|
trailingClosure()
|
|
}
|
|
}
|