Có thể kiểm tra xem biến có phải là tùy chọn hay không và loại đó là gì?Kiểm tra xem biến có phải là Tùy chọn hay không và loại nào kết thúc tốt đẹp
Có thể kiểm tra xem một biến là không bắt buộc một cụ thể:
let someString: String? = "oneString"
var anyThing: Any = someString
anyThing.dynamicType // Swift.Optional<Swift.String>
anyThing.dynamicType is Optional<String>.Type // true
anyThing.dynamicType is Optional<UIView>.Type // false
Nhưng là nó có thể để kiểm tra agains bất kỳ loại hình bắt buộc? Một cái gì đó như:
anyThing.dynamicType is Optional.Type // fails since T cant be inferred
// or
anyThing.dynamicType is Optional<Any>.Type // false
Và một khi biết bạn có một tùy chọn, lấy loại nó được gói:
// hypothetical code
anyThing.optionalType // returns String.Type
Dù sao, bạn không nên đặt 'Optional' vào' Any'. xem: [Làm thế nào để mở một giá trị tùy chọn từ bất kỳ loại nào?] (http://stackoverflow.com/q/27989094/3804019) – rintaro
Nó có thể là một trường hợp hợp lệ, bạn có thể có một hàm chấp nhận 'Bất kỳ' và hành vi đó khác nếu nó nhận được 'Tùy chọn'. – LopSae