2016-08-01 6 views
0

は、いくつかのクラスやプロパティが利用可能であるかどうかを確認するためにクリーンな方法があります:スイフト:プロトコルの利用可能性を確認する方法は?スウィフト2以来

@available(iOS 8.0, *) 
var someVarHere = someClassHere() 

しかし、私は、例えば、プロトコルの可用性をチェックするためにどのようにどこにも見つけることができませんSFSafariViewControllerDelegate。助言がありますか?

+0

重複の種類http://stackoverflow.com/questions/33308196/checking-for-protocol-availability-in-swift –

+0

実際には重複している:)だから、私はdownvotesを防ぐために、私の質問にお答えします。 ) – user3352185

答えて

0

@lu_のおかげで、私は解決策を得ました:拡張機能を使う。

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     if #available(iOS 9, *) { 
      let sfc = SFSafariViewController(URL: NSURL(string: "http://www.google.bg")!) 
      sfc.delegate = self 
      presentViewController(sfc, animated: true, completion: nil) 
     } 
    } 
} 

@available(iOS 9, *) 
extension ViewController: SFSafariViewControllerDelegate { 
    func safariViewControllerDidFinish(controller: SFSafariViewController) { 
     controller.dismissViewControllerAnimated(true, completion: nil) 
    } 
} 
関連する問題