Skip to content

Instantly share code, notes, and snippets.

View yota345's full-sized avatar
🏠
Working from home

Yota Numata yota345

🏠
Working from home
View GitHub Profile
import RxSwift
import Himotoki
/**
API通信の状態を表現
- .Stopped: API通信をまだ行っていない状態
- .Requesting: API通信中
- .Error(ErrorType): API通信でエラーが返ってきた状態
- .Response(Decodable?): API通信でencode済みレスポンスを受け取っている
import Himotoki
/**
Event一覧を取得した後のJSONエンコードを設定
*/
struct EventListResponse: Decodable {
internal let results_returned: Int
internal let results_start: String
internal let events: [Events]
/**
Eventモデル
- requestState: API通信の状態を扱う
- disposeBag: RxSwiftで不要なstreamを削除するためのクラス
*/
struct EventsModel {
internal let requestState = Variable(RequestState.Stopped)
private let disposeBag = DisposeBag()
}
@yota345
yota345 / ReceiveResponse.swift
Last active August 12, 2016 07:28
Request Alamofire and receive response. (https://github.com/takuwan0405/RxSwiftSample)
EventsRequest
.GetEvents(count)
.request()
.subscribe(
onNext: {
print("API response: \($0)")
}, onError: {
print("Error: \($0)")
}
)
import Alamofire
import RxSwift
/**
API通信をするためのプロトコル
- parameters: パラメーターを指定
- baseURL: APIのドメインを指定
- path: APIのパスを指定
- method: CRUDを指定
# HTTP通信用ライブラリ
github "Alamofire/Alamofire"
# RxSwift
github "ReactiveX/RxSwift"
# JSON parser
github "ikesyo/Himotoki"