저는 (StoryBoard에서) 어디서든 코드별로 푸시 할 수있는 ViewController를 만들고 싶습니다. (이 ViewController는 많은 시간이 소요되어 wan을하지 않습니다. StoryBoard에 많은 수의 장을 추가 할 필요가 없습니다 ...).ViewController StoryBoard에서 ViewDidLoad를 두 번 호출합니다.
또한 현재 ViewController에서 푸시 된 변수로 일부 변수를 전달해야합니다.
NBItemDetailsViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ItemDetailsViewController"];
vc.item = self.selectedItem;
[self.navigationController pushViewController:vc animated:YES];
그것은 거의 작동하지만, 밀어의 ViewController에서의 viewDidLoad 메서드가 두 번 호출됩니다 은이 코드를 사용하고 그것을합니다. 처음 엔 항목을 가져올 수 있지만 두 번째 항목은 null입니다. 물론 그것은 표시된 ViewController가 두 번째 호출 중 하나 인 것처럼 보이고 항목을 가져올 수 없습니다.
아이디어가 있으십니까? StoryBoard에서 segues를 사용하는 것이 더 좋습니다 (StoryBoard에서 ViewController를 재사용 할 수있는 방법이 없다고 생각합니다 ...)?
추 신 : 이미 viewDidAppear을 사용하려고했습니다.
예, 그게 제가 끝내겠습니까. 다른 해결책을 찾지 못하면 귀하의 답변을 수락합니다. 감사합니다 –
@ Tim, 이것은 스토리 보드에 연결되지 않은보기 컨트롤러가있는 것과 다릅니다. viewDidLoad가 두 번 호출되면 잘못된 결과가 발생합니다. NBItemDetailsViewController에 segue가 연결되어 있습니까? – rdelmar
알았어요! ViewController에서 컨테이너보기가 있는데, 제거하면 작동합니다 (그러나 ^^ 필요합니다). –