2014-03-02 33 views
0

我在我的viewController中有一个AVAudioPlayer属性,如果音乐正在播放,我想在自定义uiview中画一个圆。如何在自定义uiview中调用UIViewController属性?

在我MyViewController.h:

@property (strong, nonatomic) AVAudioPlayer *audio; 

在我view.h

- (void) drawCircle 
{ 

//DRAW Circle 
} 

现在我想查一下我的View.m如果音频播放。

我尝试添加下面我View.h

@property (nonatomic, assign) MyViewController *ViewController_audio; 

,然后在

if ([ViewController_audio _audio].playing) { },但没有奏效。

回答

0

您的语法错误。摆脱下划线:

if ([ViewController_audio audio].playing) 

if (ViewController_audio.audio.playing) 

无论是语法是有效的。

P.S. “...它没有工作”是至高无上无益。总是解释发生了什么。在你的情况下,我假设你有一个编译器错误。因此,复制并粘贴编译器错误的完整文本,并明确告诉它发生的行。

+0

我得到以下错误:成员引用基类型'int *'不是结构或联合。 – milan7

+0

我也尝试在我的uiviewcontroller中调用drawCircle,但没有显示。无论如何要添加圆作为子视图? – milan7

0

视图不应该有对视图控制器的引用。这是一个糟糕的设计。 相反,你应该有一个视图中的标志,它将在你的视图控制器播放时设置。该视图将读取此属性&作为ui的决定。

从设计的角度来看,我会建议不应该留下任何决定。视图控制者有权思考,视图只应该显示。

+0

这是有道理的,所以我应该在我的uiview中做一个bool方法? – milan7

+0

你可以做到这一点。但尝试寻找一种方式,您的视图控制器显示或隐藏视图的东西,而不是视图本身做隐藏/显示 –

相关问题