2016-12-27 3 views
-2

私は約8ヶ月間Swiftアプリケーションを構築し始めました。そのうちの1つはviewControllerstableViewsという非常に大きな構造を持ち、それぞれにnavbarsがあります。コードを単純化し、コピーアンドペーストを避ける

経験の数ヶ月後、私はこのプロジェクトは、私はコピー&ペーストtableViewsのほとんどをそのUITableViewDelegateとし、17 viewControllersを持って

など、 container viewsProtocolsを通じてクリーンなコードを達成するために、物事を単純化する他の方法を発見しましたは、 Resourcesフォルダの共通ファイルです。 navbarsとその機能を持つすべてのコードは同じコードが何度も何度も繰り返されることをすべて viewControllerで同じです。

私が実装できる方法はありますすべてすべてのviewControllerで同じコードを記述することなく、すべてのnavbarと各UITableViewDelegateのためのすべての機能のためのIBOutlets

私の推測では、おそらくtableViewの拡張子とグローバル変数またはシングルトンを作成することです。しかし、navbarsについてはどうですか?

+1

あなたのプロジェクトを見ずに答えることは不可能です。とにかく答えは意見に基づいています。 – Moritz

+0

@Christian、より多くの情報を提供し、少なくともあなたの 'storyboard'とあなたのプロジェクトのディレクトリ構造を示す必要があります。 – aircraft

+0

私は主に意見に基づいているので、質問を更新しました。 – Christian

答えて

1

すべての共有機能とレイアウトを持つベースビューコントローラを作成するだけで、同じテーブルビューとナビゲーションバーを使用するすべてのビューコントローラがこのベースビューコントローラから継承できます。

+0

ありがとう、私はあなたが提案したものを試して、それは動作します。唯一の問題は、 'baseViewController'から継承した新しい' tableView'を追加しようとすると、この 'baseViewController'を使って' UITableViewDelegate'に 'extension'を使用しているので、私にはできません。しかし、それは大したことではなく、ただコードを絞ろうとしているだけです。 – Christian

関連する問題