0

私の iPhone アプリには、ViewController.h と selectionScreen.h の 2 つの UIControl があります。

selectionScreen はそのように設定されています

@interface selectionScreen : ViewController{

メインのViewControllerに配置されているラベルをselectionScreenから変更しようとしています

これまでのところ、SelectionScreen.m 内にこれがあります (personTotal1.text は他の UIcontrol のラベルです)

- (IBAction)Change:(id)sender{
    int x=123;
    NSString *y =[NSString stringWithFormat:@"%i",x];
    personTotal1.text=y;
    NSLog(@"%@",personTotal1.text);
}

値が変更されたかどうかを確認するために NSLog を実行すると、null が返されます。Selectionscreen 内のインタラクション (ボタンを押すなど) が別の画面のラベル テキストを変更するようにするにはどうすればよいですか。

4

1 に答える 1

1

ビューコントローラーで:

personTotal1 ivar をプロパティとして設定しましたか? ivar を設定するだけでは不十分です。

UILabel *personTotal1;

次のようにプロパティを設定し、ゲッターとセッターを合成する必要があります。

@property(nonatomic, retain) UILabel *personTotal1;

ARC を使用している場合は、次のようになります。

@property(nonatomic, strong) UILabel *personTotal1;

その後、必ずラベルを合成してください。ViewController.h を SelectionScreen ファイルにインポートします。そこから UILabel プロパティにアクセスできます。これが役立つことを願っています。そうでない場合はお知らせください。明確にすることができます。

于 2013-05-14T23:46:29.247 に答える