首页 > 解决方案 > 如何访问我的一个类中的数组?

问题描述

我有一个名为 myGV 的结构,旨在保存一些全局变量。虽然一切正常,但我无法弄清楚如何通过所有属性访问数组。这就是我正在尝试的:

myGV.guessBar = GuessBar : SKSpriteNode

GuessBar 有 6 个子类型:GuessSlot : SKSpriteNode. GuessBar将实例存储在数组中。

这是代码GuessBar

class GuessBar : SKSpriteNode {
    var guessSlots : [GuessSlot] = []

    init(color: SKColor, size: CGSize) {
       super.init(texture: nil, color: color, size: size)
    }
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
 }

这是我在guessBar中填充数组的代码

func createGuessBar(color: SKColor, size: CGSize, factor: Int) -> GuessBar
{
    let myGuessBar = GuessBar(color : color, size: size)

    //other unrelated code

    for x in 0...5 {
        let mGuessSlot = GuessSlot(color: .clear, size: CGSize(width: iFactor, height: rFactor), width: myGuessBar.size.width,  iFactor: x, guessBarRef: myGuessBar)
        myGuessBar.guessSlots.append(mGuessSlot)
    }
    //other unrelated code

    return myGuessBar
}

在我看来,一切都运行良好。如果我在其中展开guessSlots,debugger它会列出每个值。我只是无法获得正确的语法,通过调试器中的最后一行,从我的 main structure 访问该数组myGV

调试器信息

标签: arraysswift

解决方案


都是我的错。它也在调试器中。我的 SKSpriteNode 应该被声明为子类,而不是 SKSpriteNode。这就是我无法访问数组的原因。该数组存在于我的子类中。


推荐阅读