0

これがどのように機能するかを誤解しているかもしれませんが、アプリデリゲートでオブジェクトを作成し、タブバーコントローラーでオブジェクトを設定しましたが、他のタブに移動すると、オブジェクトはもう存在しないようです。

これは、アプリデリゲートで参照する唯一の場所です。

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

1 に答える 1

0

app.encounter.encounters は最初のビューで機能しますか。app.encounter に引き続きアクセスできるため、オブジェクトは vire コントローラー全体で問題なく保持されているようです。したがって、encounters.encounters 変数に問題がある可能性があります。

どのように設定しましたencountersか?

于 2012-04-05T19:07:06.463 に答える