Swift3 如何使用RX索引更改标题

Swift3 如何使用RX索引更改标题,swift3,rx-swift,rx-cocoa,Swift3,Rx Swift,Rx Cocoa,我想用一个可观察的int来改变标题 视图模型 var index = Variable<Int>(0) 当我这样做时,盲板中有一个错误: 致命错误:在展开可选值时意外发现nil 函数永远不会在.map中传递 当我的索引在RX Swift中更改时,我如何更改标题?我猜是您自己的。periodText数组的元素没有索引值多,因此超出了范围 或者,也可能是您将diposeBag定义为self.disposeBag:disposeBag!。如果您忘记在viewwill出现之前创建它的实例化

我想用一个可观察的int来改变标题

视图模型

var index = Variable<Int>(0)
当我这样做时,盲板中有一个错误:

致命错误:在展开可选值时意外发现nil

函数永远不会在.map中传递

当我的索引在RX Swift中更改时,我如何更改标题?

我猜是您自己的。periodText数组的元素没有索引值多,因此超出了范围

或者,也可能是您将diposeBag定义为self.disposeBag:disposeBag!。如果您忘记在viewwill出现之前创建它的实例化,它仍然被设置为nil,在这种情况下,您也会遇到这个错误

一般来说,最好分享更多有关错误发生位置的详细信息,这样更容易缩小错误范围。

故事板上的文本字段不连接到@IBOutlet标题标签,该标题标签
结果显示此错误消息。

我的错误是当我这样做时。bindto:self.periodlab.rx.text它永远不会在定义我的diposeBag的mapI中传递,如let disposeBag=disposeBag
let title = ["title1","title2","title3","title4","title5"]
override func viewWillAppear(_ animated: Bool) {
self.viewModel.index.value = 0
    self.viewModel.index
        .asObservable()
        .map( {self.periodText[$0]
        })
        .bind(to: self.titleLabel.rx.text)

        .addDisposableTo(self.disposeBag)
}