首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从服务器上的文本实例化Swift类

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

Stack Overflow用户
提问于 2018-09-12 21:24:45
回答 1查看 63关注 0票数 2

我有一个iOS应用程序,我想在其中实现一个订阅模型。然而,用户将要购买的项目需要我每隔一段时间编写新的Swift类。

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

编辑:在阅读了您的评论后,我回到了现实,但我也会添加一些代码来澄清我的用例。也许我错过了另一个解决方案。

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

代码语言:javascript
复制
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
    }
}

如果能在不需要硬性更新的情况下部署一些这样的东西,那就太好了。但如果这是不可能的,那就是不可能的。

EN

回答 1

Stack Overflow用户

发布于 2018-09-12 22:07:02

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

假设您有一个想要在用户购买时启用的资产。假设你有一个这样的模型类

代码语言:javascript
复制
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 {...}
}

基本上,您要做的就是从后台获取资产的配置,例如在JSON中。然后,您只需从该配置文件创建您的对象。没有必要在应用程序中硬编码所有的东西,你只需要为你的节点建立一个合适的可重用模型。你可以从服务器上得到。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52296318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档