无法将 Observable<Store> 类型的类型值转换为预期的参数类型 Observable<Store?>
Posted
技术标签:
【中文标题】无法将 Observable<Store> 类型的类型值转换为预期的参数类型 Observable<Store?>【英文标题】:Cannot convert type value of type Observable<Store> to expected argument type Observable<Store?> 【发布时间】:2021-10-29 20:30:40 【问题描述】:我收到一条错误消息,内容如下:
Cannot convert value of type 'Observable<Store>' to expected argument type 'Observable<Store?>
所以我调用StoreMock(state: stateSubject, store: storeSubject)
的方法似乎期望可观察的storeSubject 是可选的。但我不确定如果我传入一个非可选的值为什么会很重要。不应该很好,因为它会一直在那里。
有什么想法吗?
【问题讨论】:
【参考方案1】:您必须将对象包装到 Optional 中:
StoreMock(state: stateSubject, store: storeSubject.map(Optional.some))
只需一个电话即可解决此问题。
【讨论】:
这是否会在对模拟的调用中:StoreMock(state: stateSubject, store: storeSubject.map(Optional.some))。我似乎仍然收到错误 是的。答案已更新。 嗯,我试过了:StoreMock(state: stateSubject, store:storeSubject.map(Optional.some)),但它似乎仍然出现了可观察到的错误 完全相同的错误?那不太可能。为了获得更好的响应,我将不得不查看此StoreMock(state:store:)
方法的定义。
不确定发生了什么变化,但编译几次后似乎对我有用!以上是关于无法将 Observable<Store> 类型的类型值转换为预期的参数类型 Observable<Store?>的主要内容,如果未能解决你的问题,请参考以下文章
无法将“Observable<Data>”类型的值转换为预期的参数类型“Data”
无法将类型 '(_) -> Observable<Response>' 的值转换为预期的参数类型 '([_]) -> _'
无法解析ObservableDataSource的所有参数:([object Object] ,?)