iOSスクリーンレットへのカスタムインタラクターの追加
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
インタラクターは、特定のユースケースのサーバー通信を実装するスクリーンレットコンポーネントです。 たとえば、ログインスクリーンレットのインタラクターは、ポータルに対してユーザーを認証するLiferay Mobile SDKサービスを呼び出します。 同様に、ブックマークの追加スクリーンレット
のインタラクターは、ブックマークポートレットにブックマークを追加するLiferay Mobile SDKサービスを呼び出します。
それで十分ですが、Screenletのサーバー呼び出しをカスタマイズしたい場合はどうでしょうか? スクリーンレットで別のバックエンドを使用する場合はどうなりますか? 問題ない\! スクリーンレット用のカスタムインタラクターを実装できます。 カスタムロジックまたはネットワークコードを使用して、サーバー呼び出しを行う別のInteractorをプラグインできます。 これを行うには、現在のInteractorのインターフェイスを実装し、オーバーライドするスクリーンレットに渡す必要があります。 これはアプリのコード内で行う必要があります。
このチュートリアルでは、Login Screenletをオーバーライドして、パスワードなしで常に同じユーザーでログインするInteractorの例を見ることができます。
カスタムインタラクターの実装
-
カスタムInteractorを実装します。 次に示すように、
ServerConnectorInteractor
継承する必要があります。class LoginCustomInteractor: ServerConnectorInteractor { override func createConnector() -> ServerConnector? { ... return connector } }
-
customInteractorForAction
を受け取るオプションのプロトコルを実装し、独自のInteractorを返します。func screenlet(screenlet: BaseScreenlet, customInteractorForAction: String, withSender: AnyObject?) -> Interactor? { return LoginCustomInteractor() }
すばらしいです\! これで、iOSスクリーンレット用のカスタムインタラクターを実装する方法がわかりました。