繁体   English   中英

如何从 swift 中的 JSON 响应中计算 boolean 值

[英]How can I count boolean value from JSON response in swift

如何计算 JSON 响应中的 Boolean 值? 我首先计算总消息数,然后使用 if 语句仅获取错误值。

  • 我只想计算错误值。 messageReaded = false

代码:

let response = try decoder.decode(ResponseData.self, from: result! as! Data)
if response.isSuccess == true {

    self.AppMsg = response.messageList ?? []
    let msgCount = String(describing: self.AppMsg.count)

    if msgCount.isEmpty == false {
        for i in response.messageList ?? [] {
            if i.messageReaded == false {

            }
        }    
    }
}

回复:

{
  "messageList": [
    {
      "messageId": 22,
      "messageReaded": false,
      "messageDate": "27.05.2020 07:01",
      "title": "New Message",
      "messageTypeCode": 1
    },
    {
      "messageId": 21,
      "messageReaded": true,
      "messageDate": "19.05.2020 07:00",
      "title": "Old Message",
      "messageTypeCode": 1
    }
  ],
  "isSuccess": true,
  "message": "İşlem Başarılı.",
  "statusCode": 1
}

过滤条件为messageReaded == false的消息并count结果。

let response = try decoder.decode(ResponseData.self, from: result! as! Data)
if response.isSuccess {
    self.AppMsg = response.messageList ?? [] 

    let unreadCount = self.AppMsg.filter{$0.messageReaded == false}.count
}

在迭代之前没有必要检查数组是否为空。 如果数组为空,则循环将被跳过。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM