如何在另一个UIView上更改一个UIView上的标签

时间:2013-05-14 23:33:55

标签: ios objective-c uiviewcontroller

在我的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,我怎样才能使它在选择屏幕内的交互(例如按下按钮)更改另一个屏幕中的标签文本。

1 个答案:

答案 0 :(得分:1)

在View控制器中:

您是否将personTotal1 ivar设置为属性?仅仅设置ivar是不够的:

UILabel *personTotal1;

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

@property(nonatomic, retain) UILabel *personTotal1;

如果你使用的是ARC,那就是这样:

@property(nonatomic, strong) UILabel *personTotal1;

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