0

也许我误解了它应该如何工作,但我在应用程序委托中创建了一个对象,并在选项卡栏控制器上设置了该对象,但是当我转到其他选项卡时,它似乎不再存在。

这是我在应用程序委托中唯一引用它的地方。

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];
4

1 回答 1

0

app.encounter.encounters 是否在第一个视图中工作。由于您仍然可以访问 app.encounter ,因此该对象似乎在您的 vire 控制器中仍然存在。所以可能会遇到遇到.encounters 变量的问题。

你是怎么设置的encounters

于 2012-04-05T19:07:06.463 回答