0

在我的 iPhone 应用程序中,我有 2 个 UIControls 一个 ViewController.h 和一个 selectionScreen.h。

selectionScreen 是这样设置的

@interface selectionScreen : ViewController{

我正在尝试从 selectionScreen 更改放置在主 ViewController 中的标签

到目前为止,我在 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;

您需要设置属性并合成 getter 和 setter,如下所示:

@property(nonatomic, retain) UILabel *personTotal1;

如果您使用的是 ARC,那么它会是这样的:

@property(nonatomic, strong) UILabel *personTotal1;

然后一定要合成标签。现在将 ViewController.h 导入到 SelectionScreen 文件中。从那里您可以访问 UILabel 属性。希望这会有所帮助,如果不让我知道,我可以澄清一下。

于 2013-05-14T23:46:29.247 回答