読者です 読者をやめる 読者になる 読者になる

Rodhos Soft

備忘録を兼ねた技術的なメモです。

BehaviorSubject

BehaviorSubjectは最後の値を覚えていてsubscribeで即座に値が返ってくる。最初の値はこちらで指定できる。 class Temperature { private let behaviorSubject = BehaviorSubject(value:0) var behavior : BehaviorSubject<Int> { return behaviorSubject } func </int>…

Observable

次のようなクラスを定義する。 class Temperature { private let eventSubject = PublishSubject<Int>() var event: Observable<Int> { return eventSubject } func doSomething(x:Int) { eventSubject.onNext(x) } } テキストフィールドの編集が終わったタイミングで</int></int>…

RXSwift

RxSwiftを試してみた。CocoaPodでインストールした上で以下をインポート import RxSwift import RxCocoa 使い方は textFiled!.rx.text .map { guard let text = $0, text.lengthOfBytes(using:.utf16) > 0 else { return "" } return "\(text)!" } .bindTo(l…

マルチスレッドのデザインパターン

以下を参照しつつマルチスレッドのデザインパターンを概観し、適宜Swiftでの実装を考える。 Single Threaded Execution (同時にできない) クリティカルセクション。 Immutable (不変) Guarded Suspension (用意できるまで待つ) Balking (用意できないならや…

Swift落穂ひろい プトロコル準拠

Swiftで少しわかりにくかった所を整理しておきます。Swift3です。 二つのプロトコル準拠 複数のプロトコル準拠な変数宣言に&を使います。 let animal3:Animal & Helloable = seri Switch文で特定の型に対して protocol Animal { } protocol Helloable { func…

プロトコル指向の例

WWDC2015から developer.apple.com重要だが未消化なのであとで感想を追記したい。

プロトコル指向+値型なコーディング

WWW2016におけるコーディングの指針developer.apple.comモデルは値型に Viewのレイアウト調整はプロトコルとジェネリクスを使ってUIViewから独立なクラスを作ると単体テストできる。 Controllerの状態はenum一つにまとめる。モデルの更新を通知してコントロ…

値型

WWDC2015においてSwiftでは参照より値型を用いることを推奨している。Building Better Apps with Value Types in Swift - WWDC 2015 - Videos - Apple Developer参照型を混ぜる際にはgetにmutatingをつけてコピーして渡すようにする。 isUniquelyReferenceNo…