gpt4 book ai didi

ios - 从服务器上的文本实例化 Swift 类

转载 作者:可可西里 更新时间:2023-11-01 01:56:50 25 4
gpt4 key购买 nike

我有一个 iOS 应用程序,我想在其中实现订阅模式。但是,用户要购买的商品需要我经常编写新的 Swift 类。

我希望不必依赖用户更新应用程序来查看新内容。有没有一种方法可以在构建时从任意文本文件实例化一个类,我可以从服务器部署它?

编辑:阅读您的评论后我回到了现实,但我还会添加一些代码来阐明我的用例。也许我还缺少另一种解决方案。

本质上,此应用程序中的“ Assets ”是通过算法生成的音乐片段。所以一个项目可能包含连接在一起的 AudioKit 节点。我可能有这样的类(class):

class sawtooth:sound {
var pwmOscillator:AKPWMOscillator? // = AKTable(.sawtooth, count: 4_096)
var countDownToNextPitch:Double
var sawtoothTwo:AKTable
var oscillatorTwo:AKOscillator
var lpf:AKLowPassFilter

// ... instantiate more nodes and parameters
init (filterFactor: Double) {
self.pwmOscillator = AKPWMOscillator(frequency: 32.7031956626)
self.pwmOscillator?.pulseWidth = 0.2
self.sawtoothTwo = AKTable(.sawtooth, count: 4_096)
self.oscillatorTwo = AKOscillator(waveform: sawtoothTwo)
self.oscillatorTwo.frequency = 65.4063913251
self.oscillatorTwo.amplitude = 0
self.chorusMixer = AKMixer(self.pwmOscillator!, self.oscillatorTwo)
// ...etc.
}

func behavior(atTime:Double, withProgramInstance:program) {
// Add parameters that define how sound evolves with time
}
}

在不需要硬更新的情况下部署其中的一些东西会很棒。但如果那是不可能的,那就是不可能的。

最佳答案

即使您使用的是订阅模式,您的应用也必须已经具备提供优质内容所需的一切。我看到的唯一解决方案是在您的客户端拥有可以由服务器端配置的模型。简化:

假设您有一项 Assets ,您希望在用户购买时启用它。假设您有一个像这样的模型类

class Asset {
var id: Int
var nodes: [MyNode]

func connect(to: SomeObject) {
{...} //Some nodes related logic etc
}
}

class MyNode {
var type: MyNodeType
var oscillator: Oscillator
var {...}
}

基本上您所做的是从您的后端获取 Assets 的配置,例如 JSON。然后你只需从这个配置文件创建你的对象。无需对应用程序中的所有内容进行实际硬编码,您只需要为您的节点提供适当的可重用模型。您可以从服务器获取。

关于ios - 从服务器上的文本实例化 Swift 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52296318/

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