Facebook
、Twitter
、Google
、LinkedIn
でログインできるアプリを作成しようとしています。私は単一のUIViewController
を使用し、より多くのコードをviewDidLoad
メソッドに追加しています。この時点で私のコントローラはひどく見えます。関連するクラス(Facebook
など)の間でコードを分割したいと思います。私はすべてのソーシャルメディアのログインボタンにカスタムビューを使用することを考えていました... 正しいことは何でしょうか?私のアプリを正しくリファクタリングする方法は?
答えて
あなたの場合、少なくとも2つの事柄が分かれています。
- 別のネットワークでログインしてください。純粋にUIに依存します。ネットワークごとまたはポップアップごとに別々のビュー(および対応するクラス)があるかもしれません。あなたがすべき https://techblog.badoo.com/blog/2016/03/21/ios-architecture-patterns/
追加の変更は、クラスの個別の束を導入することである。ここでは、アーキテクチャパターン(MVC、MVVM、VIPER、など) を適用することにより、
SocialNetworkService.authenticateWithTwitter(email:password)
しかし、これらのクラスはView Controllerについて何も知らなければならないことに注意してください。
私の答えはあなたにどの方向へのヒントを与えてくれることを願っています。
ああありがとう!しかし、クラスはvcについて何も知らなければならないということは何を意味しますか? – HelloimDarius
View Controllerを参照するコードはありません。彼らはそれから独立していなければなりません。 – fiks
これはとても混乱しています!とりあえずありがとう。 :) – HelloimDarius
- 1. C++アプリとMacOSのSubversionを正しくリンクする方法は?
- 2. 私のオートコンプリートアプリケーションをリファクタリングする方法
- 3. Rails 3アプリでエンコーディングを正しく設定する方法は?
- 4. XCode7のwatchos2アプリを正しくデバッグする方法
- 5. 外部アプリを正しく実行する方法をテストするには?
- 6. アプリで情報を正しく読み込む方法は?
- 7. テキストは私が初めてアプリを起動すると、正しく後libgdxアプリ
- 8. リファクタリングする方法DOMNodeを
- 9. のGoogle App Engineの方法を正しくアプリ
- 10. PhpStormはクラスを正しくリファクタリングしていませんか?
- 11. Angular 2アプリでwindow.matchMedia()を正しく呼び出す方法
- 12. テストアプリケーションをリファクタリングする方法は?
- 13. アプリでファイルを開く方法は? (私のアプリがバックグラウンドにあるとき)
- 14. Rubyでリファクタリングする方法
- 15. 私のコードをOOPにリファクタリングする方法
- 16. "リファクタリング・リファクタリング・リファクタリング・コード。これは正確に何を意味し、なぜそうするのですか?
- 17. Smarty:正しくキャッシュする方法は?
- 18. 私はcodeigniterのページをリダイレクトする方法を正しく確認した後
- 19. 私のアプリをiosの `Facebook`アプリに統合する方法は?
- 20. 同様の方法をリファクタリングする方法は?
- 21. 私のアプリケーションをランドスケープモードで正しく開く方法
- 22. 最近の仕事で正しくAndroidアプリを表示する方法
- 23. 私の要件のリストアイテムを正しく埋める方法
- 24. 私のアプリのドキュメントディレクトリにファイルを置く方法は?
- 25. 他のアプリから特定のアクティビティを私のアプリから開く方法は?
- 26. このデザインをリファクタリングする方法
- 27. 私のアプリはフリーズし、スレッドを実装する方法は?
- 28. Djangoアプリのリファクタリングlarge models.pyファイル
- 29. クリアする方法:両方;正しく?
- 30. ApacheでVirtualHostを正しく設定する方法(eXist-dbアプリで使用)
私はあなたの質問の読者がこの(不足している)情報を考えればどうなると思いますか分かりません。 – Alexander
これらのコードのいくつかはモデルクラスに移行する必要があります。これらはGUI関連のアクティビティではありません(ユーザーからのログオン資格情報の取得はありませんが、そうでないものはありません)。 – Gruntcakes
私はちょうどペーストビンを作成しました。 com/3x1cugDR – HelloimDarius