我正在尝试创建一个类似于 Reactable 的应用程序。
用户将能够将诸如振荡器或过滤器之类的“模块”从菜单拖到“播放区域”中,并且该模块将被激活。
我正在考虑初始化模块,因为它们与“游戏区”背景对象相交。但是,这需要我自动命名模块,即:
let osci = AKOscillator()
其中 osci 将自动计数为:
let osci1 = AKOscillator()
let osci2 = AKOscillator()
...
等等
我将如何做到这一点?
谢谢
编辑:我试图通过创建一个数组来使用一个数组
var osciArray = [AKOscillator]()
在我添加振荡器的函数中,这是我的代码:
let oscis = AKOscillator()
osciArray.append(oscis)
osciArray[oscCounter].frequency = freqValue
osciArray[oscCounter].amplitude = 0.5
osciArray[oscCounter].start()
selectedNode.userData = ["counter": oscCounter]
oscCounter += 1
currentOutput = osciArray[oscCounter]
AudioKit.output = currentOutput
AudioKit.start()
我的应用程序构建良好,但是一旦应用程序开始在模拟器上运行,我就会收到错误:致命错误:索引超出范围