アプリケーションの 1 つでストーリーボードを使用していますが、prepareForSegue メソッドで SourceViewController から DestinationViewController にプロパティを渡しているときに、渡されるプロパティは値渡しではなく参照渡しです。ユーザーが値をいじってタップすると、Destination View Controllerのように問題が発生し、SourceViewControllerで不要な値が更新されます。
この問題の詳細については、以下を参照してください。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{if([[segue identifier] isEqualToString:@"DestinationView"])
{
DestinationViewController *destinationViewController = [segue destinationViewController];
[destinationViewController setActivity:activity];
//Here the value of activity is passed by reference. I have verified the same by checking the address of activity variable in Variable pane of Xcode in Source and destination view controller
}
上記の場合、参照ではなく値のみを渡す方法がわかりません。