2015-09-24 49 views

Trả lời

16

Bạn có thể sử dụng nếu #available để chạy mã phiên bản cụ thể trong các khối nhỏ, như sau:

if #available(iOS 9, *) { 
    // use UIStackView for example 
} else { 
    // do something else 
} 

Nhưng nếu toàn bộ các phương pháp đang tắt giới hạn, Hoặc có lẽ thậm chí toàn bộ lớp học? Swift 2 cũng có các kịch bản này, sử dụng thuộc tính @available.

@available(iOS 9, *) 
func useStackView() { 
    // use UIStackView for example 
} 

Thông tin chi tiết: https://www.hackingwithswift.com/new-syntax-swift-2-availability-checking

+10

Nói tóm lại, '#available()' là một tấm séc thời gian chạy mà trả về một Boolean, và '@available()' là một cách để tạo ra thời gian biên dịch cảnh báo/lỗi nếu mục tiêu của người dùng bên dưới những gì bạn đánh dấu nó và họ không thực hiện kiểm tra '#available()', eh? – nhgrif

+0

@nhgrif "#available() trả về boolean". Lưu ý tôi có thể làm: nếu #available (...) {...} nhưng tôi không thể làm điều gì đó như: if! (# Available (...)) {...} – BangOperator

Các vấn đề liên quan