繁体   English   中英

如何在自定义uiview中调用UIViewController属性?

[英]How to call a UIViewController property in custom uiview?

我的viewController中有一个AVAudioPlayer属性,如果正在播放音乐,我想在自定义uiview中绘制一个圆圈。

在我的MyViewController.h中:

@property (strong, nonatomic) AVAudioPlayer *audio;

在我看来。

- (void) drawCircle
{

//DRAW Circle
}

现在我想检查一下View.m是否正在播放音频。

我试图在View.h中添加以下内容

@property (nonatomic, assign) MyViewController *ViewController_audio;

然后执行if ([ViewController_audio _audio].playing) { }

但这没用。

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

if ([ViewController_audio audio].playing)

要么

if (ViewController_audio.audio.playing)

两种语法均有效。

PS“...它不工作”是超级无益。 总是解释会发生什么。 就您而言,我假设您遇到了编译器错误。 因此,复制并粘贴编译器错误的全文,并明确告知发生错误的行。

视图不应具有对视图控制器的引用。 这是一个糟糕的设计。 相反,您应该在视图中具有一个标志,该标志将在播放时由视图控制器设置。 该视图将读取此属性并做出ui决策。

从设计的前景来看,我建议不要留下任何决定。 是有权思考的视图控制器,一个视图仅应显示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM