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