Swift'de, isteğe bağlı bir içeriğin içeriğine göre değiştirilen değeri test eden bir anahtar deyiminde, isteğe bağlı varsa , durumu atlayarak nasıl bir durum yazabilirim nil
?
İşte bunun nasıl görünebileceğini hayal ediyorum:
let someValue = 5
let someOptional: Int? = nil
switch someValue {
case someOptional:
// someOptional is non-nil, and someValue equals the unwrapped contents of someOptional
default:
// either, someOptional is nil, or someOptional is non-nil but someValue does not equal the unwrapped contents of someOptional
}
Tam olarak böyle yazarsam, derleyici paketlenmemiş olduğundan şikayet eder someOptional
, ancak !
sonuna ekleyerek açıkça açarsam , elbette her zaman someOptional
içerdiği bir çalışma zamanı hatası alırım nil
. ?
Bunun yerine eklemek !
bana biraz mantıklı gelebilir (sanırım isteğe bağlı zincirleme ruhu içinde), ancak derleyici hatasını ortadan kaldırmaz (yani isteğe bağlı olanı açmaz).