- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚从以下链接中学习了这个 you tube 教程:
网址:https://www.youtube.com/watch?v=aiXvvL1wNUc
我遇到了一个错误,说“UIButton.currentTitle 必须只在主线程中使用”
不太确定如何解决这个问题,因为我是制作应用程序的新手,有人可以帮助我吗?
非常感谢并提前致谢!
import UIKit
import MediaPlayer
class GenreButtonScreen: UIViewController {
var musicPlayer = MPMusicPlayerController.applicationMusicPlayer
@IBAction func genreButtonTapped(_ sender: UIButton) {
MPMediaLibrary.requestAuthorization { (status) in
if status == .authorized {
self.playGenre(genre: sender.currentTitle!)
}
}
}
@IBAction func stopButtonTapped(_ sender: UIButton) {
musicPlayer.stop()
}
@IBAction func nextButtonTapped(_ sender: UIButton) {
musicPlayer.skipToNextItem()
}
func playGenre(genre:String) {
musicPlayer.stop()
let query = MPMediaQuery()
let predicate = MPMediaPropertyPredicate(value: genre, forProperty: MPMediaItemPropertyGenre)
query .addFilterPredicate(predicate)
musicPlayer.setQueue(with: query)
musicPlayer.shuffleMode = .songs
musicPlayer.play()
}
}
最佳答案
MPMediaLibrary.requestAuthorization 是一个异步调用,布局组件只能在主线程中修改。你应该这样使用:
MPMediaLibrary.requestAuthorization { (status) in
if status == .authorized {
DispatchQueue.main.async {
self.playGenre(genre: sender.currentTitle ?? String())
}
}
}
关于ios - swift 错误 "UIButton.currentTitle must be used from main thread only",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54170821/
我有以下代码 - (IBAction)buttonPressed: (id) sender { UIButton *button = (UIButton*) sender; NSLog(@"Cli
我有一个 UIButton,它可以在不同情况下更改标题。如果您按下按钮,则应通过 Swift Switch 检查 currentTitle(并执行某些代码)。 以下内容无效: @IBAction fu
我是 swift 的新手,正在开发一个井字游戏应用程序。我正在尝试编写您决定获胜者的部分。我告诉计算机,如果一行中的三个按钮具有相同的 x 和 o 文本,则在名为 Winner 的标签上显示获胜者。但
所以,我正在 iTunes 上关注 iOS 8 的 Switf 视频类(class)(https://itunes.com/StanfordSwift 如果有人感兴趣,它是免费的),好吧,现在当然可以
我正在尝试使用 Swift 制作一个简单的计算器。我想在我创建的按钮上获取“文本”。教程中的讲师正在使用一个属性: @IBAction func appendDigit(sender: UIButto
我刚刚从以下链接中学习了这个 you tube 教程: 网址:https://www.youtube.com/watch?v=aiXvvL1wNUc 我遇到了一个错误,说“UIButton.curre
我有两个 View Controller 。第一个 UIViewController 'DiscrimUIViewCollection' 有 5 个按钮,每个链接到 swift 文件中的一个 @IBA
我是一名优秀的程序员,十分优秀!