【问题标题】:Convert type from string to string array将类型从字符串转换为字符串数组
【发布时间】:2019-02-08 12:29:07
【问题描述】:

我想为此从我的应用程序中删除计划通知我需要字符串数组来删除待处理的通知我有这种类型的字符串它不是数组这个从 fbdb 数据库返回字符串但我想要数组

 ["01D94B0E-F1AB-421E-9EC3-4A78F0211ED8",
 "76E16E51-CB59-4D3F-939E-4D492FFB22BE",
 "97696EBD-252F-4A12-962E-995EF306B557",
 "84EB98BB-14EB-4D19-83F6-798DCF75E3CD",
 "B55621AE-B124-4767-8D6E-C728598E5279"]

我有这个是数组格式,我该怎么做?我知道这是初学者的问题希望你们能帮助

【问题讨论】:

    标签: arrays swift xcode


    【解决方案1】:
    let str = """["01D94B0E-F1AB-421E-9EC3-4A78F0211ED8", "76E16E51-CB59-4D3F-939E-4D492FFB22BE", "97696EBD-252F-4A12-962E-995EF306B557", "84EB98BB-14EB-4D19-83F6-798DCF75E3CD", "B55621AE-B124-4767-8D6E-C728598E5279"]"""
    let ids = try? JSONSerialization.jsonObject(with: Data(str.utf8)) as? [String] ?? []
    

    【讨论】:

      【解决方案2】:

      你可以使用默认的 JSONDecoder...

      import Foundation
      
      var stringToData: Data? = "[\"01D94B0E-F1AB-421E-9EC3-4A78F0211ED8\", \"76E16E51-CB59-4D3F-939E-4D492FFB22BE\", \"97696EBD-252F-4A12-962E-995EF306B557\", \"84EB98BB-14EB-4D19-83F6-798DCF75E3CD\", \"B55621AE-B124-4767-8D6E-C728598E5279\"]".data(using: .utf8)
      
      let decoded = try JSONDecoder().decode(Array<String>.self, from: stringToData!)
      print(decoded)
      

      输出:

      ["01D94B0E-F1AB-421E-9EC3-4A78F0211ED8", "76E16E51-CB59-4D3F-939E-4D492FFB22BE", "97696EBD-252F-4A12-962E-995EF306B557", "84EB98BB-14EB-44 ", "B55621AE-B124-4767-8D6E-C728598E5279"]

      【讨论】:

        【解决方案3】:

        你可以试试

        let str = """ 
        ["1","2","3"]
        """
        let res = str.dropFirst(1).dropLast(1)
        let arr = res.components(separatedBy: ",").map { $0.replacingOccurrences(of: "\"", with: "") }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-10-13
          • 2015-07-04
          • 2011-06-18
          • 2019-02-09
          • 2017-11-27
          相关资源
          最近更新 更多