gpt4 book ai didi

ios - 为什么这个 View Controller 需要初始化器?

转载 作者:行者123 更新时间:2023-11-29 02:00:34 24 4
gpt4 key购买 nike

import UIKit
import MediaPlayer

我在下面收到一条错误消息,说类“playMusicViewController”没有初始化器,我不确定为什么我需要在 View Controller 类中使用初始化器,因为我的其他 View Controller 没有 View 初始化器

class playMusicViewController: UIViewController {

var play : MPMusicPlayerController

var selectedSong : MPMediaItemCollection

@IBAction func play (sender: AnyObject){

func playMusic() -> MPMusicPlayerController {

var musicPlayer: MPMusicPlayerController = MPMusicPlayerController()

return musicPlayer
}

playMusic()
}

override func viewDidLoad() {
super.viewDidLoad()

func prepareToPlay() -> Bool{

let myplayer = MPMusicPlayerController.applicationMusicPlayer()

myplayer.setQueueWithItemCollection(selectedSong)

play = myplayer

myplayer.play()

return true
}}


override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}

}

最佳答案

因为每个 var 都应该在 Swift 中初始化,否则它会报错。如果您不想初始化变量,可以将变量设为可选,并且 nil 将最初分配给它们。

var play : MPMusicPlayerController?
var selectedSong : MPMediaItemCollection?

来自 Swift's Doc

Classes and structures must set all of their stored properties to an appropriate initial value by the time an instance of that class or structure is created. Stored properties cannot be left in an indeterminate state.

You can set an initial value for a stored property within an initializer, or by assigning a default property value as part of the property’s definition

关于ios - 为什么这个 View Controller 需要初始化器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30431833/

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