2010-02-10 3 views
1

저는 iPhone 개발에 처음입니다. 저는 튜브 RSS 피드를 만듭니다. 첫 번째 테이블보기에서 모든 셀에 제목, 게시 된 데이터 및 이미지가 표시됩니다.이 모든 내용은 XML 구문 분석을 통해 XML 페이지에서 검색됩니다 .I 또한 구문 분석하고 표시 할 설명을 검색하고 그것을 변경할 배열에 저장합니다. 행을 클릭하면 다른 표보기로 이동하여 모든 내용 (제목, 날짜, 요약)을 상세하게 표시합니다. 동일한 가변 배열을 두 views.How 내가 그것을 얻을 수 있습니까? 또는 모든 내용을 표시하려면 하위 뷰에서 XML 파일을 다시 구문 분석해야합니다. 안내 해줘. 고마워.변수 값을 iphone의 하위 뷰로 전달하는 방법은 무엇입니까?

+1

작은 수정에 : 그것은 단순히보기 컨트롤러, 서브 뷰라는 아니에요. UIView의 하위 뷰 개념을 오해 할 수도 있기 때문입니다. –

답변

1

두 번째보기의 하위 클래스를 만들고 인스턴스 변수를 추가 한 다음 밀어 넣을보기를 만들 때 설정할 수 있습니다. 첫 번째 테이블 뷰에 대해 이미 구문 분석 한 내용을 전달한 다음 아직없는 정보를 두 번째 뷰에서 다시 구문 분석합니다.

핵심 데이터를 사용하고 관리되는 개체 컨텍스트를 전달하여 전체 응용 프로그램에 영구 데이터 백업 저장소를 제공 할 수 있습니다. 하지만 이것은 좀 더 효과가있을 수 있습니다.

+0

제안을 주셔서 감사합니다 – Warrior

2

편집

당신은 상세 뷰 컨트롤러의 initWithNibName 메소드를 오버라이드 (override) 할 수 있습니다.

// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil withMutableArray: (NSMutableArray *) theArray withAnotherArray: (NSMutableArray *) theOtherArray{ 
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { 
     // Here you should declare a local variable with the property & synthesize to store the array that is being passed 
     myLocalArray = theArray; 
     myOtherLocalArray = theOtherArray; 
    } 
    return self; 
} 

.이 파일을 .h 파일로 선언하면 이전 컨트롤러가 있음을 알 수 있습니다.

행운을 비네.

+0

제안을 주셔서 감사합니다 – Warrior

+0

만약 내가 배열이이 방법에 인수로 전달됩니다 2 가변 배열했다 – Warrior

+0

안녕하세요, 나는 대답을 편집했습니다. –

0

당신이 호출하는 버튼이있는 경우 :

PickerViewController *pvController = [[PickerViewController alloc] init]; 
pvController.hidesBottomBarWhenPushed = YES; 
pvController.BrillianMustache = BrilliantMustache; 
pvController.passedVariable = BrilliantMustache.varToPass; 
[self.navigationController pushViewController:pvController animated:YES]; 
[pvController release];Initialize the variable in the receiving view. 

은 다음 BrilliantMustache (이 경우 핵심 데이터 인스턴스)를 가지고 있고, passedPickerVariable 만들고 수신보기 (pvController)에서 합성한다.

는 그런 다음 질문에 대한 vewDidLoad

- (void)viewDidLoad { 
    NSLog(@"%@",self.passedVariable); 
} 
관련 문제