【问题标题】:Create Modal class from String in Swift 4.2在 Swift 4.2 中从 String 创建 Modal 类
【发布时间】:2019-12-18 05:36:33
【问题描述】:

我有两个字符串 var strDate = "2019-10-14, 2019-07-30"var strID = "162670, 127097",我想从上面的两个字符串创建 class 模态并附加到 ModalData 像:

class ModalData{
    var id:String
    var booking_date:String

    init(id:String,booking_date:String) {

        self.id = id
        self.booking_date = booking_date
    }
}

并在 Swift 中向UITableView 显示模态。

【问题讨论】:

  • 给定模型示例有什么问题?
  • 这能回答你的问题吗? Split a String into an array in Swift?
  • 不相关但为什么属性是可选的?它们显然是用非可选值初始化的。

标签: arrays swift class


【解决方案1】:

这应该可行:

class ModalData
{
    var id:           String
    var booking_date: String

    init(id: String, booking_date: String)
    {
        self.id           = id
        self.booking_date = booking_date
    }
}

var strDate = "2019-10-14, 2019-07-30"
var strID   = "162670, 127097"

let dateArray = strDate.split(",").map { $0.trimmingCharacters(in: .whitespaces) }
let idArray   = strID.split(",").map { $0.trimmingCharacters(in: .whitespaces) }

var modalDataArray = [ModalData]()
for i in 0..<max(dateArray.count, idArray.count)
{
    modalDataArray.append(ModalData(id: idArray[i], booking_date: dateArray[i]))
    print(modalDataArray.last!)
}

这是做什么的:

  • 将日期字符串转换为日期数组 (dateArray)。
  • 将 id 字符串转换为 id 数组 (idArray)。

(由, 分割并删除字符串周围的空格)

然后检查两个数组中的最大数量,以确保安全。 使用它,我们可以遍历数组并创建ModalData 对象。

【讨论】:

  • 这可能会被优化(以更好/更短的方式编写)。但它确实有效。
  • “一起打印”是什么意思?另外,print(modalDataArray) 肯定不会打印[CheckTableViewBack.OPDModalPrevious,...]
  • 你用的是什么版本的swift?
  • 如果你使用我的代码,你可以直接使用print(modalDataArray)。你可能只是在做其他事情,因为 [CheckTableViewBack.OPDModalPrevious,...] 被打印出来了。
  • 感谢它的工作兄弟,如果有任何问题或问题我会在这里提到@JeroenJK
猜你喜欢
  • 2019-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-27
  • 2020-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多