あなたがするClass2
とき
Class1 *class = [[Class1 alloc]init];
これにより、新しいインスタンスが作成Class1
され、そのアルファが設定されます (この新しいインスタンスは、ARC 設定に応じて破棄またはリークされます)。Class1
変更する必要がある既存のインスタンスが既にあるため、これはあなたが望むものではありません。つまり、インスタンスへの参照 (ポインター) が必要です。
インスタンスを作成するときはClass2
、インスタンスへの参照を与える必要がありClass1
ます。Class2
参照を格納するプロパティが必要です。
したがって、ViewController
クラスで実装する必要がありますprepareForSegue:sender:
。ProvaViewController
これにより、 (via )の新しいインスタンスが得られますsegue.destinationViewController
。ProvaViewController
プロパティを( )に追加し、その@property (strong, nonatomic) ViewController *viewController;
プロパティを使用してアルファ ( [self.viewController Trasparenza:0];
) を変更する必要があります。
ただし...「戻る」ボタンは、実際に戻るのではなく、新しいView Controllerをモーダルにプッシュしているように見えます(現在のビューもモーダルに表示されるため、閉じます)。ビュー コントローラの構造について考える必要があるのは、現在少しおかしくなっているからです...
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:...]) {
[(ProvaViewController *)segue.destinationViewController setViewController:self];
}
}
こちらのガイド、特に「詳細シーンにデータを送信する」セクションをお読みください。