使用ReactiveCocoa

时间:2016-02-04 15:53:10

标签: ios swift reactive-cocoa

我正在尝试学习ReactiveCocoa并且很难开始。由于API和教程似乎很快就过时了,我不断遇到小麻烦。也许我有错误的印象。

只是尝试关注this我似乎没有NoError

enter image description here

应该正确导入,因为我可以访问Signalrac_textSignal等,但我不知道为什么NoError不可用。

他们的documentation也提到NoError,但这会导致404

transition to RAC4也提及NoError。为什么NoError未声明?我正在使用ReactiveCocoa 4.0.1。

编辑:我刚刚将public enum NoError : ErrorType {}添加到文件顶部,现在可以使用了。我不确定这是否是解决问题的正确方法。在指南和教程中没有提到我应该自己扩展ErrorType

3 个答案:

答案 0 :(得分:23)

在4.0.1中删除了反应性可可本机NoError,转而Resultantitypicals的实施(NoError添加到Result,请参阅{{ 3}})。参见例如问题#2704

我们可以在源文件中看到这一点,例如

因此,每当您打算使用Result时,您可能需要包含(antitypicals)NoError。问题线程中的一个建议修复是

public typealias NoError = Result.NoError

答案 1 :(得分:1)

如果您在班级上方的页面顶部添加“导入结果”,NoError将不再是未声明的类型!

答案 2 :(得分:1)

如果现在通过 ReactiveSwift 6.0 看到此消息,则他们删除了对 Result 的依赖性,从而删除了import pandas as pd d = ({ 'A' : [100.4,200.2,300.3,400.6,500.8,600.9], 'B' : [10.4,21.5,36.3,44.3,56.6,60.5], }) df = pd.DataFrame(data = d) df['A','B'] = pd.to_datetime(df['A','B'], unit='h')

根据他们的release notes here,解决方案是现在使用 A B 0 00:01:40 00:00:10 1 00:03:20 00:00:22 2 00:05:00 00:00:36 3 00:06:41 00:00:44 4 00:08:21 00:00:57 5 00:10:01 00:01:01

  
      
  • 如果仅将Result用作ReactiveSwift的依赖项,请删除   导入结果,导入枚举Result.NoError或导入的所有实例   构造Result.AnyError并从您的结果框架中删除结果框架   项目。
  •   
  • 替换在Signal或NoError中使用NoError的所有情况   带有Never的SignalProducer
  •   

下面的示例代码显示了现在的外观:

NoError