我的Firstviewcontroller类中有一个UILabel *employeeNumLabel
。
现在我想从我的secondviewcontroller类的方法更改该标签的文本。
我已将以下代码放在我的Secondviewcontroller类中:
-(IBAction)save:(id)sender{
number ++;
NSString * numberString = [NSString stringWithFormat:@"%d",number];
[employeeNumLabel setText:numberString];
}
但是显示错误:use of undeclared identifier employeeNumLabel
。
虽然我在Secondviewcontroller.m类中导入了Firstviewcontroller.h。
答案 0 :(得分:1)
在Firstviewcontroller中的@implementaion下面声明UILabel * employeeNumLabel。
@implementation Firstviewcontroller
UILabel *employeeNumLabel;
然后在第二视图控制器中将其外部显示为
@implementation secondviewcontroller
extern UILabel *employeeNumLabel;
之后使用你的代码。
答案 1 :(得分:0)
在标题中定义标签
@property (nonatomic, retain) UILable * employeeNumLabel;
在.m文件中合成它
@synthesize employeeNumLabel
在init函数中,将内存分配给标签并将其添加到视图中。 或者,您可以创建一个IBOutlet并将其链接到此标签。
答案 2 :(得分:0)
要更改标签文本,您需要执行以下操作..
1)您必须在第一个视图控制器...
中创建标签的属性2)您需要第二个视图控制器中第一个视图控制器的共享引用,就像您可以访问标签并设置同一对象的文本一样。
或..再做一件事......
1)取一个NSString * lblString;在appdelegate类中并使其属性..
2)您知道可以使用以下代码在整个应用程序中获取appdelegate的共享引用
[[UIApplication sharedApplication] delegate]; //this will give your appdelegate Object..
3)然后在你的secondViewController类方法中......
Your_Appdelegate *appdelegate = (Appdelegate *)[[UIApplication sharedApplication] delegate];
appdelgate.lblString = @"YOUR_LABEL_TEXT";
4)然后在你的FirstViewController中..以同样的方式设置lableText ...
Your_Appdelegate *appdelegate = (Appdelegate *)[[UIApplication sharedApplication] delegate];
yourLabel.text = appdelgate.lblString;
最初您在标签上想要的文字在appdelegate中设置它..
愿这对你有帮助......
答案 3 :(得分:0)
在Firstviewcontroller.h中,将employeeNumLabel声明为extern,
@interface Firstviewcontroller : UIViewController{}
extern UILabel *employeeNumLabel;
然后在Firstviewcontroller.m中添加以下内容(@place,其中声明了全局变量),
UILabel *employeeNumLabel;
然后在使用你的代码之后在secondviewcontroller.h中导入Firstviewcontroller.h。