私の UIView ( ClassA ) にはボタンがあり、押すと別の UIView ( ColorClass ) が表示され、ユーザーが色を選択できる 3 つのボタンが表示されます。選択された色は、処理できるようにClassAに戻されます。また、選択した色を保存するためにStorage (シングルトン) クラスにも渡されます。
これはうまく機能しますが、同じ機能を持たせるには、関連のない2番目のクラスClassBが必要です。しかし、通常ClassB内からClassAで呼び出すのと同じメソッドを呼び出すと、ClassAが更新されます。
ColorClassを呼び出し元のクラスにとらわれないようにするにはどうすればよいですか? 私はまだ学んでいるので、誰かが私を正しい方向に向けるのを助けることができれば、それは素晴らしいことです.
クラスA
- (void) showColorPicker{
CGRect colorPickerFrame = CGRectMake(150, 100, 237, 215);
colorPicker= [[ColorClass alloc] initWithFrame:colorPickerFrame];
colorPicker.vc = self;
[self.view insertSubview:colorPicker aboveSubview:self.view];
}
- (void) setTheButtonColor : (int) c {
Sufficient to say this just changes the buttons background color selected from a list of colors
}
カラークラス
選択した色が押されると、ClassA にその色を通知するこのメソッドを呼び出します。
- (void) buttonPressed : (id) sender {
[self.vc setButtonColor:[sender tag]];
[myStorage setButtonColor:[sender tag]];
}