最近ReSwift APIを使用しましたが、ReSwiftRecorderも追加します。 ReSwiftRecorder in Githubのサンプルは非常に簡単です。ReSwiftRecorderプロパティを持つアクションを追加する
私はもっと複雑なものが必要です。私はサーバーからデータを取得するオブジェクトを持っており、アプリケーションがネットに接続されていないときにデータをリロードする必要があります。ここに私のコードは次のとおりです。
AppState:
struct AppState: StateType {
var menus: Result<[Menu]>?
}
MenuReducer:
func menusReducer(state: Result<[Menu]>?, action: Action) -> Result<[Menu]>? {
switch action {
case let action as SetMenusAction:
return action.menus
default:
return state
}
}
AppReducer:
struct AppReducer: Reducer {
func handleAction(action: Action, state: AppState?) -> AppState {
return AppState(
menus: menusReducer(state: state?.menus, action: action),
)
}
}
MenuActions:
struct SetMenus: Action {
let menus: Result<[Menu]>
}
は、私はこのような何かにMenuActionを変更する必要があります知っている:
let SetMenusActionTypeMap: TypeMap = [SetMenusAction.type: SetMenusAction.self]
struct SetMenusAction: StandardActionConvertible {
static let type = "SET_MENU_ACTION"
let menus: Result<[Menu]>
init() {}
init(_ standardAction: StandardAction) {}
func toStandardAction() -> StandardAction {
return StandardAction(type: SetMenusAction.type, payload: [:], isTypedAction: true)
}
}
が、私はすべて保存されたプロパティを初期化せずに初期化する機能に初期化子から
戻るエラーを得た
I初期化コードを設定すると、エラーは消えますが、アプリケーションは保存されたデータを復元しません!どうすれば修正できますか?
お返事ありがとうございます。 –