gpt4 book ai didi

swift - 初始化存储属性的正确方法? - Xcode 8.3.3/swift 3

转载 作者:行者123 更新时间:2023-11-28 12:17:47 26 4
gpt4 key购买 nike

我有这样一个类:

class Card: CustomStringConvertible {

// Init values
var id: UUID = UUID.init()
var shown: Bool = false
var image: UIImage
var sound: String = ""

init(image: UIImage) {
self.image = image
}

init(sound: String) {
self.sound = sound
}

init(card: Card) {
self.id = (card.id as NSUUID).copy() as! UUID
self.shown = card.shown
self.image = card.image.copy() as! UIImage
self.sound = card.sound
}

为什么在 init(sound: String) 方法中出现错误(“从初始化程序返回而不初始化所有存储的属性”)。据我所知,设置初始值很重要,我就是这么做的。

最佳答案

init(sound: String) 中,您没有为图像分配任何值。由于此属性是强制性的,没有可选的。

您有两个选择,将属性设为可选:

var image: UIImage? = nil

或者为其分配一个新的图像对象:

init(sound: String) {
self.sound = sound
self.image = UIImage()
}

关于swift - 初始化存储属性的正确方法? - Xcode 8.3.3/swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45881755/

26 4 0
文章推荐: ios - Swift 计算属性返回值
文章推荐: css - 我可以将带有 ''
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com