我们在一些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
}
我在这里做错了什么?
答案 0 :(得分:3)
当然,这对我来说是一个简单的错误。我需要命名我传递的元组,在本例中为state
func newState(state: (testState: TestValue, name: String)) {
// handle new state
}