0

我想这已经被问过,但我找不到可以用来回答我的问题并让它工作的东西。所以,这就是我所拥有的。在一次课堂上,我有以下内容:

IBOutlet UILabel *totalAmountLabel;

我还设置了以下总分:

@property (nonatomic, strong) NSString *finalTotal;

所以我已经在一个班级中将我的金额设置为那个字符串,但是我在另一个班级中究竟如何得到它呢?我假设我导入了我的类,但是一旦我这样做了,我要输入什么来获取这个变量?我将如何声明我的类的一个实例来获取这个变量,即使那样,我是否可以访问它?或者我是否要通过为我完成的 getter 和 setter - 如果是这样,我怎么知道它们叫什么?

我希望这是有道理的,在此先感谢您的帮助。

4

2 回答 2

5

我假设我导入了我的类,但是一旦我这样做了,我要输入什么来获取这个变量?

不幸的是,它并不是那么简单:您需要一个对象实例来设置它的实例变量。不管你是否通过属性,你都需要一个实例。

获取该实例的方式因类的交互方式而异。由于您使用的是 ARC 和IBOutlets,我假设它们totalAmountLabel位于您使用 segue 打开的视图控制器中。在这种情况下,您需要在起始控制器的 .m 文件中导入目标控制器的标头,并添加以下代码:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([[segue identifier] isEqualToString:@"goToMyNextController"]) {
    // Change the ID to match the one that you are using ^^^^^^^^^
    MyNextViewController *nvc = [segue destinationViewController];
    [nvc.totalAmountLabel setTitle:finalTotal forState:UIControlStateNormal];
}
于 2012-08-28T12:37:28.703 回答
0

你可以使用NsUser 默认

用你的关键字设置你的对象

[[NSUserDefaults standardUserDefaults]setObject:@"Ajay" forKey:@"name"];

而不是在您项目的任何地方获取该对象

 NSString *name = [[NSUserDefaults standardUserDefaults]objectForKey:@"name"];
于 2012-08-28T12:42:41.477 回答