Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从MPNowPlayingFocCenter访问ViewController_Ios_Swift_Delegates_Viewcontroller_Mpnowplayinginfocenter - Fatal编程技术网

Ios 如何从MPNowPlayingFocCenter访问ViewController

Ios 如何从MPNowPlayingFocCenter访问ViewController,ios,swift,delegates,viewcontroller,mpnowplayinginfocenter,Ios,Swift,Delegates,Viewcontroller,Mpnowplayinginfocenter,我正在使用音频播放器,遇到了以下情况: 我有一个TrackDetailView,当我单击TableView单元格时,它会打开以播放曲目。我还实现了后台播放和MPNowPlayingFoCenter。 当我在MPNowPlayingFoCenter中按暂停或播放按钮时,我也想在我的TrackDetailView上更改按钮图像,但我就是做不到。我很乐意得到任何帮助。 重要提示(!)TrackDetailView和MPNowPlayingFoCenter属于不同的类别。当我把他们放在一个班上时,一切都

我正在使用音频播放器,遇到了以下情况: 我有一个TrackDetailView,当我单击TableView单元格时,它会打开以播放曲目。我还实现了后台播放和MPNowPlayingFoCenter。 当我在MPNowPlayingFoCenter中按暂停或播放按钮时,我也想在我的TrackDetailView上更改按钮图像,但我就是做不到。我很乐意得到任何帮助。 重要提示(!)TrackDetailView和MPNowPlayingFoCenter属于不同的类别。当我把他们放在一个班上时,一切都顺利。 我的代码:


我想我对TrackDetailView类的一个实例有问题。

您需要确保对于这个实例

var audioPlayer = AudioPlayer()
你设定

audioPlayer.trackDetailView = self
e、 这里是x

func set() {
  audioPlayer.trackDetailView = self
  audioPlayer.setupMediaPlayerNotificationView()
}

var trackDetailView:trackDetailView?
如何设置?您有什么想法?我问您如何初始化变量。当你写
self.trackDetailView?.playbausebutton.setImage
时,你的意思是如果它为零,就可以不做任何事情……这可能就是正在发生的事情。@VyacheslavB像Philip说的那样,确保
trackDetailView
不是零,因为它的
trackDetailView?
非常有效,谢谢!它真的有效!你能详细解释一下吗?为什么需要它?很快,这个
var trackDetailView:trackDetailView?
将为零,直到您通过分配将其链接到现有的显示视图,否则执行
trackDetailView?…
后将无法工作,因此
audioPlayer.trackDetailView=self
来进行救援
func set() {
  audioPlayer.trackDetailView = self
  audioPlayer.setupMediaPlayerNotificationView()
}