Skip to content

Instantly share code, notes, and snippets.

@O-O-wl
O-O-wl / main.swift
Last active April 4, 2019 02:50
STEP2-5
import Foundation
func recognize( input : String ) ->(Double,String,String){
let pattern = "[^0-9.]+"
let regex = try! NSRegularExpression.init(pattern: pattern, options: [])
@O-O-wl
O-O-wl / main.swift
Last active April 4, 2019 09:28
STEP 2- 6
import Foundation
enum Unit : String {
case cm = "cm"
case m = "m"
case inch = "inch"
case yard = "yard"
@O-O-wl
O-O-wl / main.swift
Created April 4, 2019 10:23
STEP 2-7
import Foundation
enum Unit : String {
case cm = "cm"
case m = "m"
case inch = "inch"
@O-O-wl
O-O-wl / main.swift
Last active April 4, 2019 12:15
STEP2 - 추가 학습꺼리
import Foundation
enum Unit : String {
case cm = "cm"
case m = "m"
case inch = "inch"
enum Action {
case typing(String)
case tapSearchButton
case showLastCell
case fetchAutoCompletion([String])
case fetchSearchResult(SearchResult)
}
enum SideEffect {
case requestAutoCompletion(for: String)
case requestSearch(for: String)
case loadNextPage(at: Int)
}
enum Instants {
case networkError(Error)
}
struct State {
var onProgress: Bool
var hasNextPage: Bool
var query: String
var autoCompletions: [String]
var searchResults: [SearchResult]
fileprivate var currentPage: Int
fileprivate var lastPage: Int
}
@O-O-wl
O-O-wl / ViewModel.swift
Last active July 9, 2020 02:10
Before ViewModel
protocol ViewModel {
associatedtype Input
associatedtype Output
func transform(_ input: Input) -> Output
}
struct Output {
let onProcess: Driver<Bool>
let searchResults: Driver<[SearchResult]>
// ....
}