2011-03-10 3 views
0

탐색 기반 응용 프로그램이 있습니다. 테이블의 행을 클릭하면 다음 뷰가 나타나고 뒤로 (수동으로 생성 된) 버튼이 나타납니다. 이제 이전 뷰의 객체를 사용하여 이전 뷰의 레이블 텍스트 중 하나를 변경할 수 있도록 현재 뷰에서 이전 뷰의 객체를 어떻게 얻을 수 있는지 알고 싶습니다.탐색 개체

감사합니다. 를 사용하여 클래스 변수로 부울 변수 willBePoppedBack와 처음 NO으로 설정 :

답변

1

당신은

secondViewController.variable = firstViewController.variable; 

는 그 다음 secondViewController

업데이트를 밀어 필요한 변수에 두 번째보기를 밀어 전에 값을 전달할 수 있습니다 .

- (void)viewWillAppear { 

    if(willBePoppedBack) 
    { 
    // your label text after pressing back button 
    } 
    else { 
    // your label's default text 
    } 
} 

당신은 설정해야합니다 변수 willBePoppedBack 당신이 다음보기로 누르면 YES합니다.

+0

은 내가 내 사용자 지정 뒤로 버튼을 클릭하면 두 번째보기로 첫 번째보기의 개체에 액세스 할 수 있습니다. – Maulik

+0

첫 번째보기의 viewWillAppear에서이 작업을 수행 할 수 있습니다. – visakh7

+0

내가 말했듯이 시도했지만 변경 사항은 처음로드시 반영됩니다. n 내가하고 싶은 일은 두 번째보기의 버튼을 클릭하고 n을 누른 다음 변경 사항 만 나타나야한다는 것입니다. – Maulik

0

이 작업을 수행하려면 여기에서 이전보기의 대상을 작성한 다음에 작성해야합니다. 연산자를 사용하면 첫 페이지 라벨에 액세스하여 그 위에 몇 가지 사항을 쓸 수 있습니다.

FirstView *obj=[[[FirstView allo] initWithNibName:@"FirstView"] autorelease]; 
[email protected]"Text"; 

편집 : 지금보기를 팝업 viewWillAppear에서 다음 애플 대리자의 목적을 AppDelegate에 클래스에있는 NSString 속성을하고 라벨 에서 원하는 문자열의 값을 설정해야

이 문자열을 사용하여 레이블에 기록하십시오.

작동해야합니다.

+0

나는 이것이 새로운 인스턴스가 만들어지면 작동하지 않을 거라 생각하지만, 필요한 변경은 뷰 컨트롤러가 새 것이 아니라 스택의 하나에서 네비게이션 스택에서 팝업 될 때 반영되지 않을 것이다. – visakh7

+0

@ 7KV7 : 예. 사실 ... 나는했으나 작동하지 않았습니다 ... – Maulik

+0

오브젝트 폼을 스택으로 가져 오는 방법이 있습니까? – Maulik

0

tableviews 개체를 전달하여 두 번째보기를 초기화하고 요구 사항을 충족 할 수있는 비슷한 방법으로 아래 링크를 확인하십시오.

navigation based