prepareForSegue:
메소드 에서 대상 뷰 컨트롤러에 대한 참조를 가져와 필요한 오브젝트를 전달하십시오. 예를 들면 다음과 같습니다.
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"])
{
// Get reference to the destination view controller
YourViewController *vc = [segue destinationViewController];
// Pass any objects to the view controller here, like...
[vc setMyObjectHere:object];
}
}
개정 : performSegueWithIdentifier:sender:
방법을 사용 하여 선택 또는 버튼 누름을 기반으로 새 보기로의 전환을 활성화 할 수도 있습니다 .
예를 들어 두 개의 뷰 컨트롤러가 있다고 가정합니다. 첫 번째는 세 개의 버튼을 포함하고 두 번째는 전환 전에 어떤 버튼을 눌렀는지 알아야합니다. 다음 과 같은 방법 IBAction
을 사용 performSegueWithIdentifier:
하는 코드에 버튼을 연결할 수 있습니다 ...
// When any of my buttons are pressed, push the next view
- (IBAction)buttonPressed:(id)sender
{
[self performSegueWithIdentifier:@"MySegue" sender:sender];
}
// This will get called too before the view appears
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"MySegue"]) {
// Get destination view
SecondView *vc = [segue destinationViewController];
// Get button tag number (or do whatever you need to do here, based on your object
NSInteger tagIndex = [(UIButton *)sender tag];
// Pass the information to your destination view
[vc setSelectedButton:tagIndex];
}
}
편집 : 내가 처음 첨부 한 데모 응용 프로그램은 이제 6 세이므로 혼란을 피하기 위해 제거했습니다.