func onSetAudioWithTrackIndex(CurrentTrackIndex:Int,urlAudio: String){ ........ //try to pass currentTrackIndex data to timerfire playTimeClock = NSTimer.scheduledTimerWithTimeInterval(0.4,target: self,selector: "onSetPlayProgresstime:",userInfo: CurrentTrackIndex,repeats: true)}//Timerfirefunc onSetPlayProgresstime(timer: NSTimer){ var currentTime = mediaPlayer.currentPlaybackTime var playDuration = mediaPlayer.duration var trackIndexDict = ["trackIndex" : timer.userInfo] ................ if currentTime == playDuration{ NSNotificationCenter.defaultCenter().postNotificationname(MPMovIEPlayerPlaybackDIDFinishNotification,object: self,userInfo: trackIndexDict) } return}解决方法 Swift有时会给你一些奇怪的编译器错误,这相当于“有多个可能的选项,没有一个工作,所以这里有一个错误”.当它抱怨的那个不是你想要的那个时,这可能很奇怪
这就是为什么Swift经常告诉你某些东西“不是Int8”的原因,即使这与你想要做的事情无关(呵呵,我试图连接两个字符串,Int8与任何东西有什么关系? – 这是因为 *** 作符的一个可能的选择是使用Int8s,这是它选择投诉的那个).
在这种情况下,postNotificationname有多个重载版本,一个有1个参数,一个有2,一个有3(你想要的那个).它们都不适合你提供的类型,所以它说“其中一个选项是一个带有2个参数的调用,你提供了3个,所以这不起作用,还有一个额外的参数”.
不幸的是,这真的很令人困惑,并让你摆脱了实际上错误的气味.假设您剪切并粘贴了实际代码,看起来MPMovIEPlayerPlaybackDIDFinishNotification中存在拼写错误,并且userInfo参数标签后面缺少冒号.
(p.s.你不需要在返回voID的函数的末尾显式地返回一个返回值,尽管它不会造成任何伤害)
总结以上是内存溢出为你收集整理的swift – 调用中的额外参数userinfo全部内容,希望文章能够帮你解决swift – 调用中的额外参数userinfo所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)