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 someOptionaliç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).