运算符']的歧义使用

问题描述 投票:0回答:1

我继承了一个用ReactiveSwift(v3.1.0)和ReactiveCocoa(v7.2.0)编写的较旧的项目。当我在Xcode 10.1上打开它时,它的构建没有问题。但是,当我在Xcode 10.3上执行相同操作时,在以下代码块上出现错误运算符'的错误使用。

self.newMatchesTitleLabel.reactive.text <~ self.viewModel.newMatchesViewModel.data.producer.map { matches in
    let newMatchesCount = matches.filter({ !$0.hasViewedOnce }).count
    let newMatchesString = matches.count == 1 ? "New Match" : "New Matches"
    return newMatchesCount == 0 ? newMatchesString : "\(newMatchesString) (\(newMatchesCount))"
}

似乎是由于闭包内部完成了所有变量和计算,编译器以某种方式无法推断type(?)。当我注释掉那些部分时,编译器将关闭。但是显然我需要这些来工作。有没有一种方法可以解决此问题?


我试图通过声明两个类级别的变量来从闭包中取出那些部分。

self.newMatchesCount <~ self.viewModel.newMatchesViewModel.data.producer.map { $0.filter({ !$0.hasViewedOnce }).count }
self.newMatchesString <~ self.viewModel.newMatchesViewModel.data.producer.map { $0.count == 1 ? "New Match" : "New Matches" }

我现在不知道如何进行最终的布尔检查并将该值以被动方式分配给newMatchesTitleLabel

我不太了解ReactiveSwift / ReactiveCocoa,所以我可能会变得更糟。不幸的是,目前无法将整个项目更新为使用最新版本。我只需要这个错误就可以解决。

我继承了一个用ReactiveSwift(v3.1.0)和ReactiveCocoa(v7.2.0)编写的较旧的项目。当我在Xcode 10.1上打开它时,它的构建没有问题。但是,当我在Xcode 10.3上执行相同操作时,我...

ios swift reactive-cocoa reactive-swift
1个回答
0
投票

这不是解决方案,而是您尝试查找修复程序的一些步骤。

© www.soinside.com 2019 - 2024. All rights reserved.