gpt4 book ai didi

swift - 无法创建类对象或类对象数组

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

我正在做一个项目,我只是想创建一个简单自定义类的对象实例:

导入基金会

class Set {

private var gam1: Int!
private var gam2: Int!

init (gam1: Int, gam2: Int) {
self.gam1 = gam1
self.gam2 = gam2
}

//returns set info as array
func getStats () -> [Int] {
let arr = [gam1!, gam2!]
return arr
}

}

该类仅存储一些变量供以后使用,我想要一个此类对象的数组来存储多个值。但是,当我尝试在不同的类中创建该类的 n 实例时,出现错误:

import Foundation
class AnotherClass {

var mySet = Set(gam1: 6, gam2: 5) //error 1

//array of set objects
var setArray = [Set]() // error 2

//returns array of set objects
func getSets () -> [Set] { //error 3
return setArray
}

}

错误状态:

  1. 找不到接受类型为“(gam1: Int, gam2: Int)”的参数列表的类型“Set”的初始值设定项

  2. 无法在没有参数的情况下为类型“[Set]”调用初始化程序

  1. 对通用类型“Set”的引用需要 <...> 中的参数

对这里的问题有什么想法吗?类的“Set”名称是否会与保留关键字冲突?

非常感谢,千瓦

最佳答案

The issue that you are having is due to the naming conflict between Set in the Swift standard library and the one you defined.

绝不是个好主意。相反,给它一个更具描述性的名称(并且不与其他任何内容冲突)。例如,称它为 gamHolder并初始化它 gamHolder(gam1: <an int>, gam2: <another int>) .

Also, if you have defined variables inside the init function they do not need to be forced unwrapped optionals.

例如:

class myClass {
var myInt: Int

init(anInt: Int) {
myInt = anInt
}
}

关于swift - 无法创建类对象或类对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37102051/

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