0

我想用可观察的 int 更改标题。

在视图模型

var index = Variable<Int>(0)

在视图控制器

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)
}

当我这样做时,我在盲人(to)中有一个错误:

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

该函数永远不会传入 .map

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

4

2 回答 2

1

textField上的未storyBoard连接到@IBOutlet titleLabel导致此错误消息的。

于 2017-11-29T10:09:11.357 回答
0

我的猜测是您的self.periodText数组没有索引值那么多的元素,因此超出了范围。

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

通常,最好分享有关错误发生位置的更多详细信息,以便更容易缩小范围。

于 2017-10-23T08:47:11.537 回答