存储在应用程序委托中的对象似乎不会持久存在

时间:2012-04-05 18:52:34

标签: ios ios5 uiapplicationdelegate

也许我误解了它应该如何工作,但是我已经在app委托中创建了一个对象,并且在标签栏控制器上我设置了对象,但是当我转到其他标签时它没有&似乎已经存在了。

这是我在app delegate中引用它的唯一地方。

AppDelegate.h

@property (strong, nonatomic) Encounter *encounter;

AppDelegate.m

@synthesize encounter;

这是我在标签控制器的第一页上设置它的地方。这是它在初始选项卡控制器视图中引用的唯一时间。 loadEncounter方法只是将web 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];

1 个答案:

答案 0 :(得分:0)

app.encounter.encounters是否在第一个视图中工作。由于您仍然可以访问app.encounter,因此该对象似乎在您的vire控制器上保持正常。所以也许sud.encounters变量存在问题。

你是如何设置encounters的?