(規模、期間、運用の有無、注力する点、制約、一般的なプロジェクトとの違いなど)
(使う技術、Framework、対応OS、対応端末など)
(やりたいこと、最近の流行、前のプロジェクトの反省点など)
protocol XibInstantiatable { | |
func instantiate() | |
} | |
extension XibInstantiatable where Self: UIView { | |
func instantiate() { | |
let nib = UINib(nibName: String(self.dynamicType), bundle: nil) | |
guard let view = nib.instantiateWithOwner(self, options: nil).first as? UIView else { | |
return | |
} |
// case 1: using pipe | |
class A { | |
let signal: Signal<Void, NoError> | |
let observer: Signal<Void, NoError>.Observer | |
init() { | |
(signal, observer) = Signal<Void, NoError>.pipe() | |
} | |
struct MyError: Error { | |
} | |
//// Signal | |
print("------ Signal basic ------") | |
let (signal, innerObserver) = Signal<Int, MyError>.pipe() | |
signal.observeResult { result in | |
switch result { |
func someFunc(a: Int, b: Int) -> String { | |
return "a = \(a), b = \(b)" | |
} | |
let parameters = (a: 0, b: 0) | |
// someFunc(parameters) // not allowed in swift 3 | |
let numbers: [Int] = [1, 2, 3] | |
numbers | |
.map { number -> (a: Int, b: Int) in |
//: Playground - noun: a place where people can play | |
import UIKit | |
import XCPlayground | |
import PlaygroundSupport | |
let viewController = UIViewController() | |
viewController.view.backgroundColor = .white |
//: Playground - noun: a place where people can play | |
import UIKit | |
import UIKit | |
import XCPlayground | |
import PlaygroundSupport | |
let viewController = UIViewController() |
public protocol ApiRequestSetting { | |
static var hostname: String { get } | |
static var basePath: String { get } | |
} | |
final class StubConfigurator { | |
private let setting: ApiRequestSetting.Type | |
init(setting: ApiRequestSetting.Type) { |
enum SingleOrMultiple<Value> { | |
case single(Value) | |
case multiple([Value]) | |
func map<T>(_ transform: (Value) throws -> T) rethrows -> SingleOrMultiple<T> { | |
switch self { | |
case let .single(value): return .single(try transform(value)) | |
case let .multiple(values): return .multiple(try values.map(transform)) | |
} | |
} |