iOS用のObjective-Cを学ぼうとしています。私はこれを調査しようとしましたが、正しいキーワードを使用してはいけません。
Label1、Label2などの単純な名前のラベルがいくつかあります。また、Label#が変更されていることを除いて、基本的に同じように見えるコードがたくさんあります。1つのメソッドを作成してその番号を渡し、アプリを大幅に縮小することはできますか?
iOS用のObjective-Cを学ぼうとしています。私はこれを調査しようとしましたが、正しいキーワードを使用してはいけません。
Label1、Label2などの単純な名前のラベルがいくつかあります。また、Label#が変更されていることを除いて、基本的に同じように見えるコードがたくさんあります。1つのメソッドを作成してその番号を渡し、アプリを大幅に縮小することはできますか?
これらのオブジェクトをNSArrayまたは別のタイプのコレクションに含めることをお勧めします。次に、コンテンツをループして、各要素に対して同じ操作を実行できるようになります。
これらのラベルの共有動作を抽象化する新しいクラスCisonLabelを定義することを検討してください。CisonLabelは、コントロールとそれに関連するデータを保持します。だからあなたは言うだろう
CisonLabel *label1=[CisonLabel for: self.labelControl1 withIdentifier: 1];
CisonLabel *label2=[CisonLabel for: self.labelControl2 withIdentifier: 2];
CisonLabelには次のようなメソッドがあります。
- (void) update; // sets the label text, based on the identifier
DRiisが示唆しているように、すべてのCisonLabelをコレクションに収集できます。おそらくNSArrayです。
- (void) updateLabels: (NSArray*) theLabels
{
for(CisonLabel *label in theLabels) [label update];
}
あなたの本能は健全です。共有された行動をクラスに抽象化し、自分自身を繰り返さないようにします。