0
我正在摸索着这个问题。编辑不喜欢它,编译器甚至更喜欢它 - 但他们不同意某个原因。编译器不喜欢完成处理程序内部的守护语句
cardRemoveTimer = Timer.scheduledTimer(withTimeInterval: 0.3, repeats: true, block: { [weak self] (_) in
guard let self = self else {
return
}
//…
}
的XCode编辑: 在状态模式匹配要求“案例”关键字
CardDeck.swift:31:28: '?CardDeck' 无法将类型的价值到期望的参数类型'_OptionalNilComparisonType'
我想要做的就是避免强制展开自我。为什么我不能?如果可以的话,怎么样?
好的。我会标记它的答案。但我仍然认为代码应该是有效的。 (就像为什么'self'是一个不能使用的特殊变量名字一样......) – Mozahler
@Mozahler如果你在你的代码中用反引号括起来,你当然可以使用'self',也就是'''self'' '。但这不是一个很好的设计选择,你需要在你使用它的地方使用反引号。 –
'self'是一个具有特殊含义的Swift关键字。你可以用它作为一个通用的变量名,用反引号包围它,但我不会推荐它。 – vacawama