Skip to content

Instantly share code, notes, and snippets.

View chauvincent's full-sized avatar

Vince Chau chauvincent

  • DoorDash
  • San Francisco, CA
  • LinkedIn in/vchau8
View GitHub Profile
/usr/bin/xcrun xcodebuild -workspace /Users/vincentchau/Desktop/Carthage/Checkouts/pusher-websocket-swift/PusherSwift.xcworkspace -scheme PusherSwift -configuration Release -derivedDataPath /Users/vincentchau/Library/Caches/org.carthage.CarthageKit/DerivedData/9.2_9C40b/pusher-websocket-swift/5.1.0 -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/2d/0rf8h8p14h3d6055x6k206_w0000gn/T/pusher-websocket-swift SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO (launched in /Users/vincentchau/Desktop/Carthage/Checkouts/pusher-websocket-swift)User defaults from command line:
IDEArchivePathOverride = /var/folders/2d/0rf8h8p14h3d6055x6k206_w0000gn/T/pusher-websocket-swift
IDEDerivedDataPathOverride = /Users/vincentchau/Library/Caches/org.carthage.CarthageKit/DerivedData/9.2_9C40b/pusher-websocket-swift/5.1.0
Build settings from command line:
BITCODE_GENERATION_MODE =
// MARK: - Init
deinit {
NotificationCenter.default.removeObserver(self)
}
// MARK: - View Life Cycle
override func viewDidLoad() {
super.viewDidLoad()
@chauvincent
chauvincent / FunctionAsClosure.swift
Created May 14, 2019 05:40
Captures self strongly
NotificationCenter.default.addObserver(
forName: .SomethingToObserverNotification,
object: nil,
queue: .main,
using: handleNotification
)
NotificationCenter.default.addObserver(
forName: .SomethingToObserveNotification,
object: nil,
queue: .main) { [weak self] notification in
self?.handleNotification(notification)
}
class SomeModalViewController: UIViewController {
var actionHandler: (() -> Void)?
@IBAction func onTappedAction(_ sender: Any) {
actionHandler?()
}
}
let someModalVC = SomeModalViewController()
someModalVC.actionHandler = {
someModalVC.dismiss(animated: true, completion: nil)
}
present(someModalVC, animated: true, completion: nil)
let someModalVC = SomeModalViewController()
someModalVC.actionHandler = { [weak someModalVC] in
someModalVC?.dismiss(animated: true, completion: nil)
}
present(someModalVC, animated: true, completion: nil)
protocol OrdersListDisplayLogic {}
protocol OrdersListBusinessLogic {}
protocol OrdersListPresentationLogic {}
class OrdersListViewController: OrdersListDisplayLogic {
var interactor: OrdersListBusinessLogic
...
}
class OrdersListInteractor: OrdersListBusinessLogic {
// In some builder class:
let view = OrdersListViewController()
let interactor = OrdersListInteractor()
let presenter = OrdersListPresenter()
view.interactor = interactor
interactor.presenter = presenter
presenter.view = view
protocol OrdersListDisplayLogic: class {}
class OrdersListPresenter: OrdersListPresentationLogic {
weak var view: OrdersListDisplayLogic?
...
}