如何在ReSwift中定义带有多个子选择的`newState`?

时间:2017-07-10 14:33:50

标签: ios swift redux reswift

我们在一些iOS项目中使用了ReSwift并且一直很喜欢它。在4.0中,他们添加了子状态和skipRepeats的部分选择功能,可以手动或使用Equatable存储。选择商店很简单:

store.subscribe(subscriber) {
  $0.select {
    $0.testValue
  }
}

然后使用以下内容定义newState

func newState(state:TestValue) {
   // handle new state
}

当通过元组传递多个参数时,我对如何定义newState感到有点困惑:

store.subscribe(subscriber) {
  $0.select {
    ($0.testValue, $0.otherState?.name)
  }
}

我正在传递元组,但看到Type 'MainViewController' does not conform to protocol 'StoreSubscriber'Type of expression is ambiguous without more context错误:

func newState((testState: TestValue, name: String)) {
    // handle new state
}

我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

当然,这对我来说是一个简单的错误。我需要命名我传递的元组,在本例中为state

func newState(state: (testState: TestValue, name: String)) {
    // handle new state
}