let someOptional: Int? = 42 if case .Some(let x) = someOptional { print(x) } if case let x? = someOptional { print(x) } 要はパターンマッチがif文にも開放されたのですが、Optionalのためにわざわざこのif case let x?という糖衣構文が追加されています。 しかし一体これ何に使うの?という感じです。なぜなら同じような役割であればすでにif let構文があるからです。