gpt4 book ai didi

IOS调用另一个类的方法

转载 作者:行者123 更新时间:2023-11-29 04:58:49 24 4
gpt4 key购买 nike

我有一个带有 3 个 View Controller 的选项卡栏应用程序,FirstViewController 有一个带有歌曲列表和播放/暂停按钮的音频播放器。现在我想要为 SecondviewController 和 ThirdViewController 添加一个按钮,该按钮将调用 FirstViewController 类的方法 - (void) playpause。

看起来很简单,但我没有找到让它发挥作用的方法,我尝试过:

  - (IBAction) playpause1
{
PlayerAppDelegate *appDelegate = (PlayerAppDelegate*)[[UIApplication sharedApplication] delegate];
[appDelegate performSelector:@selector(playpause)];
NSLog(@"playpause test");

}

但是这段代码只控制应用程序委托(delegate)中的方法,而不是像我需要的那样直接控制 FirstViewController 类。

有什么建议吗?

最佳答案

有多种可能性:

  • 将音频播放功能移至单独的对象,因为它是与 View Controller 通常执行的任务不同的任务。然后为所有三个 View Controller 提供对该音频播放器的引用,并让它们根据需要使用它。

  • 让创建 View Controller 的对象(通常是应用程序委托(delegate))为第二个和第三个 View Controller 分别提供对第一个 View Controller 的引用,并让它们发送 -playpause 消息.

  • 使用通知。第二个和第三个 View Controller 可以简单地发布第一个 Controller 将监听的通知。这避免了三个 View Controller 相互了解的需要。

关于IOS调用另一个类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7410913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com