我有以下代码
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
,控件应该跳过大括号中的部分代码。
让我感到困惑的是,这里唯一的player
是nil
。其他所有内容都已正确初始化:
nil
这种行为有什么解释吗?