2012-04-05 2 views
0

아마도 이것이 어떻게 작동해야하는지 오해하고 있습니다. 그러나 응용 프로그램 위임에 객체를 만들었고 객체를 설정 한 탭 막대 컨트롤러에서 나는 더 이상 존재하지 않는 다른 탭으로 간다.응용 프로그램 대리인에 저장된 객체가 유지되지 않는 것 같습니다

이것은 앱 위임자에서 참조하는 유일한 장소입니다. I는 탭 컨트롤러의 첫 페이지에 설정 여기서

AppDelegate.h

@property (strong, nonatomic) Encounter *encounter; 

AppDelegate.m 여기

@synthesize encounter; 

이다. 초기 탭 컨트롤러보기에서 참조되는 유일한 시간입니다. loadEncounter 메소드는 단순히 웹 API의 json 결과를 전달합니다. 그런 다음 뷰 레이블의 값을로드합니다.

ehrxAppDelegate *app = [[UIApplication sharedApplication]delegate]; 
app.encounter = [[Encounter alloc] init]; 
[app.encounter loadEncounter:result]; 

nameLabel.text = app.encounter.subscriber_name; 
locationlabel.text = app.encounter.location_name; 
dateLabel.text = app.encounter.encounter_time; 
genderLabel.text = app.encounter.subscriber_gender; 
dobLabel.text = app.encounter.subscriber_dob; 
statusLabel.text = app.encounter.admission_status; 
detailsLabel.text = app.encounter.details; 

이것은 탭 컨트롤러의 두 번째보기에서 액세스하는 방법입니다. 나는 첫 번째 관점에서 값을 설정했기 때문에 두 번째 관점에서 값을 가져 와서 다시 사용할 수 있다는 인상을 받았다.

ehrxAppDelegate *app = [[UIApplication sharedApplication]delegate]; 
self.encounters = app.encounter.encounters; 

[self.tableView reloadData]; 

답변

0

app.encounter.encounters는 첫 번째보기에서 작동합니까? 여전히 app.encounter에 액세스 할 수 있기 때문에 오브젝트가 Vire 컨트롤러 전반에서 계속 유지됩니다. 그래서 encounter.encounters 변수에 문제가있을 수 있습니다.

어떻게 encounters을 설정 했습니까?

+1

이것은 정확히는 아니지만 너무 바보 같았습니다. 나는 실제로 그것들을 보여주고있는 뷰에서 테이블을 셋업하는 것을 끝내지 않았기 때문에 그들이 보이지 않는 이유가된다. – Jhorra