正在读取捆绑包中下载.swift文件



所以,我有点坚持这是一个概念/问题,想知道你们中是否有人遇到过这个问题/有解决方案。

让我们简单地假设我构建了一个角色引擎,如下所示:(我不会这样做,但这只是一个示例(

struct Character
var content: () -> String
init(_ content: @escaping () -> String) { 
self.content = content
}

所以现在我可以创建一个这样的角色

let heero = Character({"Heero"})

很棒,很棒,很酷。现在让我们假设,出于某种原因,我的服务器上有一个包含一堆这些字符的.swift文件,例如。

let relena = Character({"Relena"})
let wufei = Character({"Wufei"})
let quatre = Character({"Quatre"})

我是否可以下载服务器.swift文件,并让我的应用程序实际使用它

您的应用程序无法从服务器下载 swift 文件,编译并执行它。

然而

您确定您的Character结构初始值设定项需要闭包作为参数吗?如果你只需要传递一个字符串,那么:

  1. 将服务器上的字符串放入 JSON 中
  2. 获取 JSON
  3. 读取 JSON 并从其内容创建Character(s)

----更新----

如果你真的不需要在 Character 结构中闭包,你可以遵循这种方法:

  1. 杰伦 将所有字符串放入服务器上的 JSON 中

这是它在操场上的样子

let data = """
{
"Hello I am Alex",
"Hello I am Bob",
"Hello I am Charlie"
}
""".data(using: .utf8)!

字符

接下来定义您的字符结构,如下所示

struct Character: Decodable {
let content: String
}

译码

最后将您的 JSON 转换为Character(s)数组

if let characters = try? JSONDecoder().decode([Character].self, from: data) {
print(characters)
}

最新更新