如何从另一个类设置标签

时间:2015-07-28 20:16:07

标签: ios objective-c xcode

我在标签上设置文字有问题。标签在class1中声明,但我想使用它并在class2中设置它,我想在tableView中设置依赖于所选行的数据(在class2中实现)

我在第1课中的声明:

    @property (weak, nonatomic) IBOutlet UILabel *trackNameDetailsLabel;

我在class2中的方法(我尝试这个但不起作用):

-(void)setLabels {

    self.trackNameDetails = self.result.trackName; 
}

result.trackName会调用存储在url文件中的数据

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以通过创建类似Class1 *referenceOf1 = self的变量并将@class Class1;添加到类2的顶部来为类2提供类1的引用。然后,在类2中,您可以创建一个实例第1类并调用该引用。

或者,您可以通过单例传递数据,在我看来这是更好的,并避免内存泄漏。这是一个了解更多单身人士的链接。

http://www.galloway.me.uk/tutorials/singleton-classes/

答案 1 :(得分:0)

看起来你有类2的trackNameDetails,但你想在class 1中将值设置为trackNameDetailsLabel 所以代码

-(void)setLabels {

    self.trackNameDetails = self.result.trackName; 
}

只会在类2中设置属性trackNameDetails。

你需要提供一个引用,它可以是类1到类2的实例,就像Cole所说的那样。 在第2课,

@property(strong, nonatomic) Class1 * class1;
-(void)setLabels {

   class1.trackNameDetails = self.result.trackName; 
}

在使用此方法之前,请记住将class1设置为Class1的实例