ios - Swift 2 结构与数组

标签 ios arrays swift struct static

我是 Swift 和游戏制作新手(对于一般编码也相当陌生),我目前想在两个 Gamescene 之间传递一个变量。经过一些研究后,我得出的结论是,我需要一个带有 [int]()struct 来保存由于某种原因而我无法保存的数字将值分配到我的整数数组generateSequenceArray 我的结构:

struct generatedSequenceForGameScene {
     static var generatedSequenceArray = [Int]()
}

在我的一个 GameScene 类中,我已经初始化了 generateSequenceForGameScene struct 对象:

var generatedSequence = generatedSequenceForGameScene()

我调用的方法是:

func pickNumbers(){

    for var x = 0; x < highLevel; ++x{
        generatedSequence.generatedSequenceArray.append(Int(arc4random_uniform(10)))
        print(generatedSequence.generatedSequenceArray)

   }
}

在尝试从每个 GameScene 移动变量之前,我的代码是这样的:

变量: var generatedSequence = [Int]()

方法:

func pickNumbers(){

    for var x = 0; x < highLevel; ++x{
    generatedSequence.append(Int(arc4random_uniform(10)))
    print(generatedSequence)

    }
}

这给了我想要的结果。 注意:pickNumber 方法在名为 loadView() 的方法中调用,该方法位于程序中的 didMoveToView 方法

最佳答案

这里有几件事需要注意。

首先,结构中的 static 关键字使 generatedSequenceArray 成为静态属性。这意味着无论你在哪里调用它,它都是一样的。这不是你想要的。

其次,除非您计划向结构添加更多属性,否则它没有理由存在。为什么要把它包装在一个结构体中?为什么不直接传递整数数组(您选择的数字)?

第三,类型名称应该正确大小写。所以 generatedSequenceForGameScene 应该是 GeneratedSequenceForGameScene )。

关于ios - Swift 2 结构与数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34775707/

相关文章:

ios - 如何在 uibezierpath 周围获得缓冲区

ios - 苹果的圆形复选标记 - 它们在何时何地使用?

arrays - Docker 撰写 .env 文件数组变量

c - 如何定义一个全局数组(获取另一个函数的长度)?

ios - Swift:获取移动数据权限状态

ios - 选择时的 UICollectionView 动画单元格图像

ios - ***断言失败-[UITableView _configureCellForDisplay :forIndexPath:]

ios - 注册推送通知功能不会被调用

c++ - 数组作为函数参数 - 编译错误

ios - 如何在轮换准备好重用后撤回不可见的 UICollectionViewCell?