1

Continent、Country、Subcountry、RegionSubregionの5 つの UITableView を作成しました。

every のデータUITableViewはデータベースに格納されています。

すべてのナビゲーションで、重要なデータを取得し、すべてのクラスで定義した一連のトークン変数を使用しprepareToSegueて next に渡します。UITableViewすべてが似ています。

Continent(country.ContinentID=self.continentID) 
       --> Country (region.CountryID=self.countryID)

ある種の醜い方法で、私はそれを間違っていると感じています。このタスクをよりスマートに実装する方法をアドバイスしてもらえますか? すべてのクラスで、この int 変数のバンドルを取り除きたいと思います。

PS グローバル変数の使用はお勧めしません。私はそれらについてここで読みました、そしてグローバルはgotoステートメントよりも悪として定義されています.

4

2 に答える 2

1

考えられる解決策の 1 つは、重要なデータを追跡し、作成中に必要に応じてコントローラーに渡す別のクラスによってすべてのコントローラーを作成することです。これは、GitHub のサンプル Xcode プロジェクトに示されています。シングルトンには近づかないでください。それらは美化されたグローバルに過ぎず、それらに対して多くの良い議論があります (そのいくつかは、このブログ投稿で説明されています)。

于 2012-09-04T18:41:45.810 に答える
0

あなたのニーズに応えるシングルトンデザインパターンをお勧めします - すべてのデータオブジェクトを保持および維持する「DataManager」を作成して、コントローラー全体のどこからでもアクセスできるようにすることは便利であり、正しく実装すると、永続性と優れたパフォーマンス。

于 2012-09-04T18:42:45.550 に答える