gpt4 book ai didi

ios - 类的实例只返回 nil

转载 作者:行者123 更新时间:2023-11-28 23:24:38 26 4
gpt4 key购买 nike

对 swift 还很陌生,并且很难在另一个类中创建一个类的实例。我正在发出通知,然后在我的应用程序委托(delegate)中它通过播放音乐播放器和更改我的 viewController 中的标签来响应,但是当它尝试更改标签时应用程序崩溃并出现错误“隐式展开可选值时意外发现 nil”。我可以通过添加一个 '?' 来绕过它但为什么它会变成零。

代码

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, AVAudioPlayerDelegate {

var musicPlayerManager: MusicPlayerManager = MusicPlayerManager()
var viewController: ViewController = ViewController()

func application(_ application: UIApplication, didReceive notification: UILocalNotification) {

//show an alert window
var playlistName: String = ""
if let userInfo = notification.userInfo {
playlistName = userInfo["soundName"] as! String
}
musicPlayerManager.playPlaylist(chosenPlaylist: playlistName)
print(playlistName)
viewController.currentPlaylist.text = "Playlist: \(playlistName)"

}

}

我在控制台中打印了播放列表名称,然后它在最后一行崩溃,提示这是 viewController 实例的问题,我试图从应用程序委托(delegate)更改 View Controller 中的标签。

最佳答案

在 vc 加载之前, socket 为零,如果它存在,您还需要从 Storyboard 中加载它

viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "id") as! ViewController 
viewController.view.layoutIfNeeded()
viewController.currentPlaylist.text = "Playlist: \(playlistName)"

关于ios - 类的实例只返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59030868/

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