gpt4 book ai didi

ios - 从 viewcontroller 获取 appdelegate 值

转载 作者:技术小花猫 更新时间:2023-10-29 10:41:26 27 4
gpt4 key购买 nike

在 Appdelegate.h 中
我在 Appdelegate.hAppdelegate.m 文件中导入了 playerviewcontroller

  @class PlayerViewController; 
@property(nonatomic)float volumeDelegate;

在 Appdelegate.m 中

  @synthesize volumeDelegate;
- (void)volumeChanged:(NSNotification *)notification
{
volumeDelegate =1.0
PlayerViewController *volumeObject=[[PlayerViewController alloc]init];
[volumeObject setVolumeForAVAudioPlayer];
}

在Playerviewcontroller.h中

 -(void)setVolumeForAVAudioPlayer;

在Playerviewcontroller.m中

@interface PlayerViewController ()
{
AppDelegate *appdelegate;

}
-(void)viewDidLoad
{
appdelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
}

-(void)setVolumeForAVAudioPlayer
{
[appdelegate.sharedplayer setVolume:appdelegate.volumeDelegate];
NSLog(@"System Volume in player view: %f",appdelegate.volumeDelegate);
}

当我运行它时,我得到的 volumeDelegate 值为零,如下所示。

播放器 View 中的系统音量:0.000000000

我在这里犯了什么错误

最佳答案

您可以访问 AppDelegate 对象,如下所示

objective-C

这样定义:

AppDelegate appDelegate;

像这样访问它:

appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

用法:

- (void)setVolumeForAVAudioPlayer
{
[appDelegate.sharedplayer setVolume:appdelegate.volumeDelegate];
NSLog(@"System Volume in player view: %f",appDelegate.volumeDelegate);
}

swift :

这样定义:

let appDelegate = UIApplication.shared.delegate as! AppDelegate

用法:

func setVolumeForAVAudioPlayer() 
{
appDelegate.sharedPlayer.setVolume:appDelegate.VolumeDelegate
print("System Volume in player view: \(appDelegate.volumeDelegate)")
}

关于ios - 从 viewcontroller 获取 appdelegate 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18401799/

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