在swift4中将自定义对象的数组转换为String

时间:2018-02-05 16:17:38

标签: arrays dictionary nsdictionary swift4 swift-string

我是Swift的新手,在将自定义对象数组转换为String时遇到问题。

这是我的回复课门票

public struct Tickets: Codable {
        public let name: String!
        public let status: String!
        public let department: String!
    }

在webservice调用之后,我得到以下响应,它将被映射到Tickets类。现在,我有一系列的#34;门票"如[门票]所述。

"tickets": [
    {
      "name": "d5b5d618-8a74-4e5f",
      "status": "VALID",
      "department": "IT"
    },
    {
      "name": "a58f54b5-9420-49b6",
      "status": "INVALID",
      "department": "Travel"
    }
  ]

现在,我可以将[Tickets]的数组转换为String吗?如果是这样,怎么样?另外,如何从[Tickets]类中将其作为String返回。

我希望在将其转换为String后将其存储到UserDefaults中,并在以后检索它

1 个答案:

答案 0 :(得分:1)

首先:

如果应该在make: invalid option -- 'D'方法中初始化它们,则永远不要将结构或类中的属性或成员声明为隐式展开的可选项。如果他们可以init将它们声明为常规可选(nil),则将其声明为非可选(是的,如果没有问题或感叹号,编译器不会抱怨)。

只需使用?JSONDecoder()

对JSON进行解码和编码
JSONEncoder()