2012-10-12 2 views
0

ViewControllerA에서 ViewControllerB로 부울 값을 전달해야합니다.ViewController 사이에 부울 값 전달

@property (nonatomic, assign)BOOL fromViewControllerA; 

열기 ViewControllerB : 나는 ViewControllerA에 수입 내가 재산 만든 ViewControllerB에서

ViewControllerB * viewControllerB = [[ViewControllerB alloc]initWithNibName:@"ViewControllerB" bundle:nil]; 

    self.fromRootViewController = YES; 

    [self.navigationController pushViewController:viewControllerB animated:YES]; 

: 나중에있는 viewDidLoad에서

@property (nonatomic, strong) ViewControllerA *viewControllerA 

()를

ViewControllerA에 나는 속성으로 넣어
if (viewController.fromViewController){ 
     //....... 
    } 

이 작동하지 않습니다. 왜?

+0

여기서 'viewControllerB'의'viewControllerA' 속성은 무엇입니까? –

답변

1

viewController B에서 BOOL 속성을 생성하십시오. BOOL setFlag; 당신이 속성을 사용해서는 안보기 컨트롤러의 출처를 알고 싶다면 당신은 푸시에게

ViewControllerB * viewControllerB = [[ViewControllerB alloc]initWithNibName:@"ViewControllerB" bundle:nil]; 

    self.fromRootViewController = YES; 
    viewControllerB.setFlag = YES; //set the value here 

    [self.navigationController pushViewController:viewControllerB animated:YES]; 
0

두 번째 줄을 viewControllerB .fromRootViewController로 수정해야하나요? (자필 대신)

0

을 수행하는 곳의 ViewController B에서의 ViewController A의 지금

그것을 합성. 네비게이션 컨트롤러 배열 (푸시의 원점을 알고 싶어하는 클래스)의 기본 네비게이션을 사용하십시오.

NSArray *controllers = [self.navigationController viewControllers]; 
UIViewController *lastController = [controllers objectAtIndex:[controllers count]-2]; 
if([controller isKindOfClass:[YourDesireCheckController class]]) 
    return YES; 
return NO;