これがどのように機能するかを誤解しているかもしれませんが、アプリデリゲートでオブジェクトを作成し、タブバーコントローラーでオブジェクトを設定しましたが、他のタブに移動すると、オブジェクトはもう存在しないようです。
これは、アプリデリゲートで参照する唯一の場所です。
AppDelegate.h
@property (strong, nonatomic) Encounter *encounter;
AppDelegate.m
@synthesize encounter;
これがタブコントローラーの最初のページに設定したところです。これは、最初のタブコントローラビューで参照される唯一の時間です。loadEncounterメソッドは、WebAPIからの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;
これは、タブコントローラーの2番目のビューでアクセスする方法です。最初のビューで値を設定したので、2番目のビューでそれを取得して再度使用できるという印象を受けました。
ehrxAppDelegate *app = [[UIApplication sharedApplication]delegate];
self.encounters = app.encounter.encounters;
[self.tableView reloadData];