2011-12-08 2 views
0

저는 iPhone 앱을 만들고 있습니다. 처음에는 같은 화면에서 내 pickerview를 가졌으므로 이것은 단지 한 페이지 앱이었습니다. 그것을 껍질을 벗기고 난 후에 나는 그것이 자기 자신의 별도의 페이지 인 pickerview를 원한다는 것을 깨달았다. 그래서 내가 그랬어. 그러나 필자의 pickerview는 원래 같은 페이지에서 uilabels 및 다른 객체를 업데이트합니다. 내 피커 뷰가 새 뷰에서 그 객체에 액세스하도록하려면 어떻게해야합니까?UIPickerView on 별도 페이지

- (IBAction)ShowPickerAction:(id)sender { 
if (self.theView == nil) { 
    theView = [containerView initWithNibName:@"containerView" bundle:nil]; 
    theView.parentView = self; 
} 
self.theView.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentModalViewController:self.theView animated:YES]; 

} 나는 나의 새로운보기를 전화를 사용하고있는 방법이다

. 그러나 위 코드의 3 행에서 "selector initWithNibName : bundle에 알 수없는 클래스 이름이 없습니다"라는 오류 메시지가 나타납니다. 나는 그 오류가 내 헤더 파일에서 내가 잘못한 것과 관련이 있다고 생각한다. 내 새 클래스는 containerView라고합니다.

@interface ViewController : UIViewController { 

containerView *theView; 

를하지만 나에게 내가 containerView라는 클래스를 할 경우에도 오류 "알 수없는 유형의 이름 containerView"을 제공합니다! : 그래서 난 내 헤더에 이런 짓을

답변

0

uiappdelegate 프로토콜을 살펴 보거나 정적 함수를 통해 값을 이전 페이지로 전달해보십시오.

0

피커보기를 인스턴스화 한보기 개체에 앞뒤로 정보를 전달할 때 대리인을 사용하십시오. 가능한 한 느슨한 코드 결합을 유지하려고합니다. 특히 다음 프로젝트에 코드를 추가하려는 경우가 있습니다. 델리게이트 및/또는 블록을 사용하는 것이 가장 좋은 방법입니다.