7. In computing, reactive programming is a programming
paradigm oriented around data flows and the propagation of
change.
Reactive Programming
8. Functional reactive programming (FRP) is a programming
paradigm for reactive programming (asynchronous dataflow
programming) using the building blocks of functional
programming (e.g. map, reduce, filter).
Functional Reactive Programming
10. Functional Programming
1 부터 10까지 더하는 문제
var sum = 0
for i in 1...10 {
sum += 1
}
print(sum)
Procedural way
print((1...10).reduce(0) { $0 + $1 })
Functional way
63. enum Router: URLRequestConvertible {
case Collection(Int)
var request: Alamofire.Request {
return HTTPManager.sharedHTTPManager.request(self)
}
var method: Alamofire.Method {
return .GET
}
var path: String {
switch self {
case .Collection(let id): return “/Collections/(id)"
}
}
var parameters: Parameter {
switch self {
case .Collection: return ["filter": ["include": ["images"]]]
}
}
// MARK: URLRequestConvertible
var URLRequest: NSMutableURLRequest {
let URL = NSURL(string: Router.baseURLString)!
let mutableURLRequest = NSMutableURLRequest(URL: URL.URLByAppendingPathComponent(path))
mutableURLRequest.HTTPMethod = method.rawValue
return Alamofire.ParameterEncoding.URL.encode(mutableURLRequest, parameters: parameters).0
}
}
}
64. let collections = Variable([Collection]())
Router.Collections(["filter": filterParameter]).request
.validate()
.responseJSON { [weak self] response in
if let value = response.result.value {
let newData = Collection.array(JSON(value))
self?.collections.value = newData
return
}
}