2012-03-27 5 views
1

時々、メニューに似ており、コンパイルする前に既知の行を持つUITableViewを作成する必要があります。私は通常、次の操作を行います。これはtypedef enumの乱用または誤用です(静的コンテンツを持つUITableViewで使用)

typedef enum { 
    PEPSI_SODA, 
    COKE_SODA, 
    DRPEPPER_SODA, 
    DIET_SODA, 
    COUNT_SODA 
} SODAS; 

私はその後、numberOfRowsInSectioncellForRowAtIndexPath方法についてswitch (indexPath.row) { case PEPSI_SODA: cell.textLabel.text = @"Pepsi" break; }ためCOUNT_SODAを返します。これはtypedef enumの「適切な」使用ですか、あるいはこれらのタイプの状況にアプローチするためのより良い方法はありますか?

答えて

1

コンストラクタで辞書を渡すことができる、いくつかのタイプのUITableViewControllerサブクラスを作成します。そうすれば、いつでも同じクラスをプロジェクトで再利用できます。メソッドを再利用することはできず、行を追加するためにさまざまな場所で変更する必要があるため、拡張するために多くの努力が必要です。

+0

どちらの回答も良いですが、もう少し明確です。ありがとうございました! –

2

安全に動作するはずです。しかし、私は辞書の使用を好むでしょう、そこにあなたはデータを一緒にバインドすることができますし、あなたはより柔軟になります。

関連する問題