在我的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,我怎样才能使它在选择屏幕内的交互(例如按下按钮)更改另一个屏幕中的标签文本。
答案 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酒店。希望这有帮助,如果不让我知道,我可以澄清。