Swift:EXC_BAD_ACCESS比较隐式解包的可选和nil

时间:2016-09-25 21:03:25

标签: ios swift optional

我有以下代码

f092795fe94ba727f7368b63d8eb1ecd39749fc4

$ git blame f092795fe94ba727f7368b63d8eb1ecd39749fc4 ./lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java | grep f092795 | wc -l 47 $ git blame master ./lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java | grep f092795 | wc -l 38 被定义为隐式展开的可选( func detachPlayer() { DispatchQueue.global(qos: .default).async { if self.playerView.player != nil { self.playerView.player.pause() self.playerView.player = nil } } } ),因此,我为nil添加了测试以避免崩溃。 但是,我有时会在这条线上遇到崩溃:
player,这令人困惑,因为如果!if self.playerView.player != nil,控件应该跳过大括号中的部分代码。

让我感到困惑的是,这里唯一的playernil。其他所有内容都已正确初始化:

nil

这种行为有什么解释吗?

0 个答案:

没有答案