也许我误解了它应该如何工作,但我在应用程序委托中创建了一个对象,并在选项卡栏控制器上设置了该对象,但是当我转到其他选项卡时,它似乎不再存在。
这是我在应用程序委托中唯一引用它的地方。
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];