2017-09-27 23 views
0

こんにちは私は現在Swift 3プロジェクトでWKWebViewを使用しています。 同じWKWebViewを別のクラスに保つことができるので、別のクラスで1つのメインWKWebViewを実行していますか?他のクラスの同じWKWebViewを使用

私はWKProcessPoolとWKWebsiteDataStorageでこれをやろうとしましたが、私は別のクラスで新しいWKWebViewをセットアップすると、既存の設定を参照する方法がわからない/ wkwebviewにログインしました。

私はインターネット全体を見渡しましたが、解決策を見つけることができませんでした。 私の問題を理解し、解決策をご理解いただければ幸いです。 ありがとうございます!

+0

あなたはここで何をしようとしているのか正確にはわかりません。複数のクラスにわたって同じ 'WKWebView'のインスタンスを1つ使用しようとしていますか?あるいは、再利用可能な' WKWebView'クラスを毎回新しいインスタンスで再利用しようとしていますか? – ZGski

答えて

2

Stef。 すべてのWebビューインスタンスで同じ設定を使用する場合は、静的なプロパティ/メソッドを持つクラスまたは拡張を作成するだけです。たとえば:

extension WKWebViewConfiguration { 
    static var shared : WKWebViewConfiguration { 
     if _sharedConfiguration == nil { 
      _sharedConfiguration = WKWebViewConfiguration() 
      _sharedConfiguration.websiteDataStore = WKWebsiteDataStore.default() 
      _sharedConfiguration.userContentController = WKUserContentController() 
      _sharedConfiguration.preferences.javaScriptEnabled = true 
      _sharedConfiguration.preferences.javaScriptCanOpenWindowsAutomatically = false 
     } 
     return _sharedConfiguration 
    } 
    private static var _sharedConfiguration : WKWebViewConfiguration! 
} 

は、Webビューのインスタンス間のみ共有クッキーをしたい場合は、あなたのWKWebViewConfigurationインスタンスのWKWebsiteDataStore.default()でシングルトンオブジェクトを使用します。

+0

これはEldar!ありがとう、インターネット上のどこでもこれを見つけることができませんでした!ニースの方法! – Stef

関連する問題