0

これは以前に尋ねられたと思いますが、質問に答えてこれを機能させるために使用できるものが見つかりません。だから、これが私が持っているものです。かつてのクラスでは、私は次のものを持っています:

IBOutlet UILabel *totalAmountLabel;

また、合計で次のスコアを設定しました。

@property (nonatomic, strong) NSString *finalTotal;

したがって、あるクラスでその文字列に金額を設定しましたが、別のクラスでどのように正確に取得できますか?クラスをインポートすると思いますが、インポートしたら、この変数を取得するために何を入力しますか?この変数を取得するためにクラスのインスタンスをどのように宣言しますか?それでも、それにアクセスできますか?または、私のために行われるゲッターとセッターを経由しますか?もしそうなら、それらが何と呼ばれているのかをどうやって知ることができますか?

それが理にかなっていることを願っています。よろしくお願いします。

4

2 に答える 2

5

クラスをインポートすると思いますが、インポートしたら、この変数を取得するために何を入力しますか?

残念ながら、それはそれほど単純ではありません。インスタンス変数を設定するには、オブジェクトインスタンスが必要です。プロパティを通過するかどうかは関係ありません。どちらの方法でもインスタンスが必要です。

そのインスタンスを取得する方法は、クラスがどのように相互作用するかによって異なります。ARCとIBOutletsを使用しているのでtotalAmountLabel、セグエを使用して開いたViewControllerにあると想定しています。この場合、宛先コントローラーのヘッダーを開始コントローラーの.mファイルにインポートし、次のコードを追加する必要があります。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([[segue identifier] isEqualToString:@"goToMyNextController"]) {
    // Change the ID to match the one that you are using ^^^^^^^^^
    MyNextViewController *nvc = [segue destinationViewController];
    [nvc.totalAmountLabel setTitle:finalTotal forState:UIControlStateNormal];
}
于 2012-08-28T12:37:28.703 に答える
0

NsUserのデフォルトを使用できます

キーワードでオブジェクトを設定します

[[NSUserDefaults standardUserDefaults]setObject:@"Ajay" forKey:@"name"];

プロジェクトのどこにでもそのオブジェクトを取得するよりも

 NSString *name = [[NSUserDefaults standardUserDefaults]objectForKey:@"name"];
于 2012-08-28T12:42:41.477 に答える