2012-04-05 4 views
0

Vielleicht missverstehe ich, wie dies funktionieren sollte, aber ich habe ein Objekt in der App-Delegate erstellt, und auf einem Tab-Leiste-Controller setze ich das Objekt, aber wann Ich gehe zu den anderen Tabs, von denen es nicht mehr zu existieren scheint.Objekt im App-Delegat gespeichert scheint nicht zu persistent

Dies ist der einzige Ort, an dem ich es im App-Delegaten referenziere.

AppDelegate.h

@property (strong, nonatomic) Encounter *encounter; 

AppDelegate.m

@synthesize encounter; 

Hier ist, wo ich es auf der ersten Seite der Registerkarte Controller eingestellt. Dies ist das einzige Mal, auf das es in der Ansicht der ersten Registerkarte des Controllers referenziert wird. Die loadEncounter-Methode gibt einfach die json-Ergebnisse von der Web-API weiter. Dann lade ich die Werte der Sichten-Labels ein.

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; 

So greife ich auf die zweite Ansicht im Tab Controller zu. Ich hatte den Eindruck, dass, da ich seinen Wert auf die erste Ansicht gesetzt habe, ich ihn einfach auf die zweite Ansicht nehmen und wieder verwenden könnte.

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

[self.tableView reloadData]; 

Antwort

0

Funktioniert App.encounter.encounters in der ersten Ansicht. Da Sie immer noch auf app.encounter zugreifen können, scheint das Objekt auf Ihren vire Controllern in Ordnung zu sein. Also vielleicht gibt es ein Problem mit der Encounter.encounters Variable.

Wie haben Sie encounters eingestellt?

+1

Das war nicht genau das, aber es war so dumm. Ich habe den Tisch in der Ansicht, in der ich sie gezeigt habe, nicht fertig gestellt, deshalb haben sie nicht gezeigt. – Jhorra

Verwandte Themen