ios – 从viewcontroller获取appdelegate值

在Appdelegate.h
我在Appdelegate.h和Appdelegate.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值为零如下.

播放器视图中的系统音量:0.000000000

我在这里做的错误是什么

解决方法

在访问该值之前,您是否在下面写下一行,
appdelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

那么这个电话应该是打电话,

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

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...