如何将整个Swift类保存为String?

时间:2015-05-27 12:41:51

标签: ios swift

我有一个看起来像这样的快速课程

导入基金会

class MCPerson{
 var firstName: String
 var lastName: String
 var age: Int

init(firstName: String, lastName: String, age: Int){
    self.firstName = firstName
    self.lastName = lastName
    self.age = age
 }

}

我想将整个类保存为字符串,看起来像这样......

 var str = "class MCPerson{var firstName: String
 var lastName: String
 var age: Int

init(firstName: String, lastName: String, age: Int){
 self.firstName = firstName
 self.lastName = lastName
 self.age = age
 }

}"

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

您无法存储此类实现。编译代码时,所有swift类都转换为二进制形式。因此,你不能把它作为字符串。如果您想要上述内容,则将您的课程作为文件。 (含义  作为文本文件)。这样你就可以读取该文件并将其作为字符串。

答案 1 :(得分:0)

如果你真的想在Swift中将代码行放在一个字符串中,你需要在每一行周围添加引号,并包含转义的换行符和连接字符:

var str = "class MCPerson{var firstName: String\n" +
" var lastName: String\n" +
" var age: Int\n" +
"\n" +
"init(firstName: String, lastName: String, age: Int){\n" +
" self.firstName = firstName\n" +
" self.lastName = lastName\n" +
" self.age = age\n" +
" }\n" +
"\n" +
"}"

但是将代码放在字符串中并且可能无法实现您正在寻找的结果通常是无用的。

答案 2 :(得分:0)

你的问题毫无意义。您正在运行的程序无法访问它的源代码。此外,iOS设备上没有编译器。因此,一旦编译完程序,您就无法获得源代码,即使可以,也无法对其进行任何操作。

所以答案是"你不能,即使你可以,也不会对你有任何好处。"