-1

我用firstclassViewControllersecondclassViewController创建了两个类名,在我的secondclassViewControllerUIlabel类中, 我想访问firstclassViewController并且我想将它的值更改UILabel为新值。

这是我的代码片段,

firstclassViewController.h

@property (strong, nonatomic) UILabel *navLabel;

第一类视图控制器.m

navLabel = [[UILabel alloc] initWithFrame:CGRectMake(70,7,180,30)];
navLabel.text = @"Categories";
navLabel.font = [UIFont boldSystemFontOfSize:16.0f];
navLabel.textColor = [UIColor blackColor];
navLabel.backgroundColor = [UIColor clearColor];
navLabel.textAlignment = UITextAlignmentCenter;
[[self.navigationController navigationBar] addSubview:navLabel];

secondclassViewController.m

firstclassViewController.m *Obj=[[firstclassViewController.m alloc] initWithNibName:@"firstclassViewController.m" bundle:nil];
Obj.navLabel.text=@"New Value";

但我无法改变我对 UILabel 的价值..

任何帮助都会得到帮助。

4

2 回答 2

2

在 secondclassViewController 和 firstclassViewController 之间进行通信的最佳方式是使用委托。

查看 Rob 在这篇文章 Use of Delegates to Communicate between View Controllers中的回答

一般的想法是......你的第一个控制器应该设置第二个代表指向第一个视图控制器。

于 2013-01-04T08:44:11.673 回答
1

实现此目的的一种方法是UILabel在 segue 中将对象从第一个视图控制器传递到第二个视图控制器。当您执行 a 时,firstclassViewController *Obj = [[firstclassViewController alloc] initWithNibName:@"firstclassViewController" bundle:nil];您正在创建一个新实例,因此您对标签所做的更改仅适用于视图控制器的此实例。

于 2013-01-04T08:44:05.810 回答