gpt4 book ai didi

ios - 创建和调用类初始化程序并传入文字值 Swift 时调用中的额外参数

转载 作者:行者123 更新时间:2023-11-28 05:28:22 25 4
gpt4 key购买 nike

我在 swift 中遇到了一个小问题。假设我有一个名为 Pet 的类(class)。Pet 有一个名称和噪音变量,创建方式如下:

class Pet
{
var name : String = ""
var canMakeNoise : Bool = true
}

现在,当我调用初始化类来创建一只猫时,我可以很容易地这样做:

var cat: Pet()
cat.name = "Garfield"
cat.canMakeNoise = false

这很顺利,但是当尝试使用像这样的文字值直接传递它时:

let cat : Pet("Garfield",true) 

let cat : Pet(name:"Garfield",canMakeNoise:true)

我收到这个错误:

Swift Compile Error - Extra Argument in call

这是为什么呢?我该如何解决?提前致谢。

最佳答案

如果你想给初始化器添加参数,你需要指定一个新的初始化函数而不是依赖默认函数。在您的情况下,您可以这样做:

class Pet {
var name : String = ""
var canMakeNoise : Bool = true

init( name : String, canMakeNoise : Bool ) {
self.name = name
self.canMakeNoise = canMakeNoise
}
}

var kitty = Pet(name: "Cat", canMakeNoise: true)

关于ios - 创建和调用类初始化程序并传入文字值 Swift 时调用中的额外参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30060102/

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