2013-07-29 1 views
0

버튼을 클릭하여 prepareForSegue() - 메소드를 사용하여 segue를 통해 데이터를 전달했습니다. 이제는 두 번째보기에서 레이블이나 그와 비슷한 것으로 인쇄 할 수 있습니다. 문제는 상기 값이 몇 초마다 변경되지만 두 번째보기는 초기 값만 표시한다는 것입니다 (이벤트는 한 번만 발생하기 때문에!). 나는 타이머에 대해 생각했지만 이것이이 문제를 해결하는 데 도움이 될지 잘 모르겠습니다. 누군가가 섹그를 사용하여 이런 종류의 데이터 업데이트를 실현할 가능성을 알고 있습니까? 그렇지 않다면이 문제를 어떻게 해결 하시겠습니까? 기본 접근법에 대한 힌트가 필요합니다. 사전에segue에서 두 번째보기로 전달 된 값을 업데이트 할 수 있습니까?

감사합니다! 당신이 그 값을 포함하는 객체를 생성하고 segued의 ViewController에게 해당 개체에 대한 포인터를 제공하는 경우

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
if ([[segue identifier] isEqualToString:@"tab"]){ 

    NSNumber *sliderNumber = [self.dic objectForKey:@"slider"]; 
    NSString *convertSliderNumber = [sliderNumber stringValue]; 

    TabBarViewController *tabBar = [segue destinationViewController]; 

    [tabBar setLabelString:convertSliderNumber]; 

} 

}

답변

0

는, 당신은 그 객체에 업데이트 값은 두 viewControllers에 업데이트됩니다.

+0

오, 좋은 생각. 나는 그것에 대해 생각하지 않았다. 고마워, 나는 그것을 구현하려고합니다. :-) – Keks

+0

나는 약간 혼란 스럽다. 문제를 설명하기 위해 내 질문을 편집했습니다. 이미 포인터를 사용하고 있으므로 변경 방법을 모르겠습니다. 키 "슬라이더"에 속한 사전의 객체는 두 번째보기에서 사용해야하는 값입니다. – Keks

+0

문제는 해당 메서드 내에서 해당 String (convertSliderNumber)을 만들고 있으므로 해당 클래스의 다른 곳에서는 액세스 할 수 없으므로 변경할 수 없기 때문입니다. dict의 슬라이더 키가 변경 될 때마다 클래스의 참조를 변경해야합니다. – Jsdodgers

관련 문제