如何从另一个类更新一个xib标签

时间:2010-09-08 05:42:08

标签: iphone objective-c

我希望从播放列表控制器中播放歌曲播放器控制器歌曲的持续时间(从服务器下载)。

实际上我使用avaudioplayer所以在播放器中我有两个控制器avtouchcontroller和avtouchview控制器,以及avtouchviewcontroller的一个xib所有的东西(播放暂停下一个上一首歌曲持续时间)。

所以在avtouch控制器中我有一个方法UpdatePlayerInfo如果我调用这个函数然后我的问题就解决了。

我如何从其他(avtouchviewcontroller)调用updateplayerinfo(在avtouchcontroller中)函数。

2 个答案:

答案 0 :(得分:0)

使用您的xib文件获取iboutlet label in .h个文件并bindproperty文件中设置该标签的.h,在synthesis中设置.m file标签。

然后,在您要更改标签文本的类中,使用object of the above class

设置它

编辑:增加的例子 EG:在classA中,您在XIB中有标签,然后是in CLASSA.h take iboutlet uilabel labelA set its property synthesize it,并将其与XIB中的标签绑定。然后转到CLASSB,参加A类和objClassA.labelA=@"CHAANGEDVALUE"

的对象
ClassA.h
UILabel *myLabel;

@property(nonatomic,retain)IBOutlet UILabel *myLabel;

ClassA.m
@synthesis mylabel.

现在转到XIB文件,在文件所有者检查器中,您会发现mylabel BIND与您在xib中的标签。

ClassB.m//Accesing label in Another Class
ClassA objClassA;//ALOCATE THE INSTANCE
objClassA.myLabel=@"NEWVALUE";

快乐的编码......

答案 1 :(得分:0)

您应该在目标类中创建实例变量UILabel *someLabel;并向其添加IBOutlet属性。 (或只是IBOutlet UILabel *someLabel;) 下一步是在显示的标签和插座之间建立关系(在IB中) 第3步。利润(根据需要管理实例变量)。