プロトコルとデリゲートを使用して、あるviewControllerから別のviewControllerに配列を送信しようとしています。私はビューコントローラBのデリゲートを宣言し、ビューコントローラAで次のコードを使用してAからBへメッセージを送信しました。プロトコルのメソッドはdidReceiveMessageです。残念ながら、メッセージは到着しません。添付デリゲートを使用するViewController間のメッセージ
のViewController A
- (IBAction) graphPressed:(UIButton *)sender {
GraphingViewController *gvc=[[GraphingViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:gvc animated:YES];
[gvc release];
[delegate didReceiveMessage:brain.internalExpression];
}
とviewcontrollerB
- (IBAction) ViewdidLoad {
CalculatorViewController *cvc =[[CalculatorViewController alloc] init];
cvc.delegate=self;
[cvc release];
}
- (void) didReceiveMessage:(NSMutableArray *)expression {
NSLog(@"message received from CalculatorAppDelegate");
}
からのコードからコードである任意の提案を大幅に理解されるであろう。
返信いただきありがとうございます。ポインタを子供の周りに保持する方法に関する提案。子どもからビューAをサブクラス化すると、必要な情報が失われます。 – jack
親コントローラにインスタンス変数を作成し、子ビューを割り当てます。それを割り当てたときにはそれを保持し、完了したら解放してください。 – criscokid