2016-07-21 3 views
0

FacebookTwitterGoogleLinkedInでログインできるアプリを作成しようとしています。私は単一のUIViewControllerを使用し、より多くのコードをviewDidLoadメソッドに追加しています。この時点で私のコントローラはひどく見えます。関連するクラス(Facebookなど)の間でコードを分割したいと思います。私はすべてのソーシャルメディアのログインボタンにカスタムビューを使用することを考えていました... 正しいことは何でしょうか?私のアプリを正しくリファクタリングする方法は?

+0

私はあなたの質問の読者がこの(不足している)情報を考えればどうなると思いますか分かりません。 – Alexander

+0

これらのコードのいくつかはモデルクラスに移行する必要があります。これらはGUI関連のアクティビティではありません(ユーザーからのログオン資格情報の取得はありませんが、そうでないものはありません)。 – Gruntcakes

+0

私はちょうどペーストビンを作成しました。 com/3x1cugDR – HelloimDarius

答えて

1

あなたの場合、少なくとも2つの事柄が分かれています。

  1. 別のネットワークでログインしてください。純粋にUIに依存します。ネットワークごとまたはポップアップごとに別々のビュー(および対応するクラス)があるかもしれません。あなたがすべき https://techblog.badoo.com/blog/2016/03/21/ios-architecture-patterns/

追加の変更は、クラスの個別の束を導入することである。ここでは、アーキテクチャパターン(MVC、MVVM、VIPER、など) を適用することにより、

  • スプリットコードは、それらの素敵な概要ですソーシャルネットワーク経由でのログインを処理する。あなたのビューコントローラ(または、View Modelや他のどこかで、あなたが選択したデザインパターンによって)SocialNetworkService.authenticateWithTwitter(email:password)

    しかし、これらのクラスはView Controllerについて何も知らなければならないことに注意してください。

    私の答えはあなたにどの方向へのヒントを与えてくれることを願っています。

  • +0

    ああありがとう!しかし、クラスはvcについて何も知らなければならないということは何を意味しますか? – HelloimDarius

    +0

    View Controllerを参照するコードはありません。彼らはそれから独立していなければなりません。 – fiks

    +0

    これはとても混乱しています!とりあえずありがとう。 :) – HelloimDarius

    関連する問題