【RxSwift】KickstarterのViewModelインターフェースをスマートにするラッパー
はじめに
RxSwiftを使ってViewModelを設計する時、
特にKickstarterのViewModelインターフェースでは
プロパティの再定義が冗長で可読性を落としてしまう。
var hoge:PublishRelay<Hoge>
init() {
let _hoge = PublishRelay<Hoge>()
self.hoge = _hoge.asObservable()
}
これをプロパティ1つ1つ再定義していてはかなり無駄であるため、
これを解決するラッパーを使用する。
ラッパー
以下の記事を参考にした。
https://qiita.com/yokirin/items/a8df2bc9080ccf853724
これを使うと、上記の冗長な再定義がこうなる
いやあ神すぎる。。。個人的な1番の負債が一発で解消できた。
@PublishRelayWrapper var hoge:PublishRelay<Hoge>
init() {
}
再定義がいらない。
使用するときは、self.$hogeで使用する。(リンク先を参考に。)
終わりに
KickstarterのViewModelインターフェースは使いやすいが、
冗長な再定義でずっと悩んでいた。それをラッパーで解決できたので
これから気持ちよく使っていけそう。
自分でラッパーを用意できるようになりたいところ。
Author And Source
この問題について(【RxSwift】KickstarterのViewModelインターフェースをスマートにするラッパー), 我々は、より多くの情報をここで見つけました https://qiita.com/Sossiii/items/891de4ddaff24e785f22著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .