gpt4 book ai didi

arrays - 如何在 Swift 中创建静态数组?

转载 作者:行者123 更新时间:2023-11-30 12:58:39 25 4
gpt4 key购买 nike

我想在我的单例 GameManager 类中创建一个静态数组。目标是用数据库中即将出现的问题填充这个数组,并从其他类(class)联系这些问题。

这是问题结构:

struct Question{
let levelId : Int32
let categoryId : Int32
let id : Int32

let question : String
let fieldA : String
let fieldB : String
let fieldC : String
let fieldD : String
let answer : String

init( categoryId : Int32, levelId: Int32,id : Int32,question : String,fieldA : String,fieldB : String,fieldC : String,fieldD : String,answer : String )
{
self.categoryId = categoryId
self.levelId=levelId
self.id=id
self.question=question
self.fieldA=fieldA
self.fieldB=fieldB
self.fieldC=fieldC
self.fieldD=fieldD
self.answer=answer
}
}

这是单例类

import Foundation

class GameManager{
var Questions = [Question]()

var categoryID = 0
var levelID = 0
var i = 0
{
self.Questions = Questions[Question]// I create the static Question Array here, but it does not work

self.categoryId = categoryId
self.levelId=levelId
self.id=id
self.question=question
self.fieldA=fieldA
self.fieldB=fieldB
self.fieldC=fieldC
self.fieldD=fieldD
self.answer=answer
}

static let sharedInstance = GameManager()
}

最佳答案

您应该在 GameManager 类的构造函数中进行初始化!

private init() {
// do your initialization here...
}

初始化程序被声明为私有(private),因为您显然不希望其他代码创建单例的另一个实例。

此外,由于许多单例(例如 UIApplication.sharedApplication)在 Swift 3 中已重命名为 shared,因此您可能应该重命名 sharedInstance也可以共享

关于arrays - 如何在 Swift 中创建静态数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40113385/

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