IOS15之Swift5.5的KVC报错以及JSON转字典转模型

最近IOS15升级,导致报错,尝试半天,才解决错误

import UIKit
import Alamofire
enum MethodType {case GETcase POST
}
class NetworkTools: NSObject {// 写一个类方法,直接通过点语法调用class func getParametesDemo(type: MethodType, urlStr: String, parameters: [String : Any]? = nil, finshiedCallBack: @escaping (_ result: Any)-> ()){Alamofire.AF.request(urlStr,parameters: parameters).responseJSON { (response) inswitch response.result {case .success(let json):finshiedCallBack(json)breakcase.failure(let error):print("\(error)")break}}}
}
import Foundation
extension NSDate {// class 代表的是类方法,直接通过类名调用,相当于java的静态方法,相当于OC的类方法 ,class func getCurrentDateTime() -> String {let nowDate = NSDate()let interval = Int(nowDate.timeIntervalSince1970)return "\(interval)"}
}
import UIKit
class AnchorGroup: NSObject {@objc var room_list: [[String : Any]]?@objc var tag_name: String?@objc var small_icon_url: String = "home_icon"init(dict:[String: NSObject]){super.init()//KVC 方式赋值self.setValuesForKeys(dict)}//网络请求的属性多于自定义模型属性的时候,需要重写这2个方法override class func setValue(_ value: Any?, forUndefinedKey key: String) {}override func setValue(_ value: Any?, forUndefinedKey key: String) {}
}
import UIKitclass ViewController: UIViewController {private lazy var anchorGroups: [AnchorGroup] = [AnchorGroup]()override func viewDidLoad() {super.viewDidLoad()NetworkTools.getParametesDemo(type: .GET, urlStr: "http://www.baidu.com", parameters: ["limit":"4","offset":"0","time": NSDate.getCurrentDateTime()]) { result in
//            print(result)
//            (result as AnyObject).write(toFile: "/Users/lujun/11.plist", atomically: true)guard let resultDict = result as? [String : NSObject] else{ return }guard let dataArray = resultDict["data"] as? [[String : NSObject]] else{ return }for dict in dataArray {let group = AnchorGroup(dict: dict)self.anchorGroups.append(group)}for group in self.anchorGroups {print(group.tag_name!)}}}}

项目在我资源目录下,名称为Alamofire2.zip

IOS15之Swift5.5的KVC报错以及JSON转字典转模型相关推荐

  1. Swift5版本以上#selector报错解决

    Swift5版本以上#selector报错解决 最近swift 版本变化较大,如果对一个按钮添加一个事件在oc想必都非常熟练,那么在 swift怎么去定义函数,以及函数传参呢 let btn = UI ...

  2. python request 报错 #No JSON object could be decoded

    python request 报错 #No JSON object could be decoded Python 使用request 发起post请求报错如下 报错如下 解决方案如下 Python ...

  3. 选择日期保存报错Invalid JSON input: Cannot deserialize value of type `java.util.Date` from String......

    (spring boot + vue) 1.新增-选择日期-点击保存-报错:报错信息 "Invalid JSON input: Cannot deserialize value of typ ...

  4. Ajax传JSON对象报错:JSON parse error: Unrecognized token ‘ids‘: was expecting (‘true‘, ‘false‘ or ‘null‘);

    org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized t ...

  5. 解决POSTMAN传参报错,JSON parse error: Cannot deserialize instance of `java.util.ArrayList` out of START_OB

    前言:使用POSTMAN自测代码以便前后端联调时,发送请求后,BOOM!!!服务器抛了个这样式的东西出来. Resolved [org.springframework.http.converter.H ...

  6. VS CODE JSON添加注释报错 为JSON添加注释

    问题描述 在json文件中添加注释后,大面积报错. 解决方案 1.选择JSON 2.选择JSON with Comments后,错误消失

  7. uni-app的分包下小程序报错app.json: [“tabBar“][1][“pagePath“]: “xxxx“ need in [“pages“]

    uni-app踩坑系列 出错过程 解决方案 关于分包的静态文件建议 出错过程 如过项目没有采用分包,解决方案点这里 如果项目采用分包,pages.json的文件格式如下 项目运行起来,h5是可以的,但 ...

  8. 小程序报错[ app.json 文件内容错误] app.json: app.json 未找到

    当你开发小程序出现这个报错说什么找不到app.json,但实际已经有了. 我百度了一阵找到了问题:微信web开发者工具在建立项目.添加项目时选择的项目目录的文件夹下不能有次级文件夹:若是有次级文件,即 ...

  9. 微信开发者工具运行报错‘app.json 未找到’

    问题 在微信开发者工具中报错 app.json未找到:uniapp项目在微信开发者工具中不能直接引入当前整个项目 解决方法 1.在开发者工具中,点击选择目录. 2.打开项目,项目名/unpackage ...

最新文章

  1. iBATIS:xml中定义返回值
  2. linux 文件属性文件权限
  3. spring手动配置
  4. VS2015 添加DNX SDK
  5. Javadoc的使用
  6. div根据滑动页面位置显示
  7. pygame显示图片的方法_使用Sprite实现移动动画(Pygame中的精灵类)
  8. Java-虚拟机-终结方法finalize
  9. CISCO CCNA路由器密码管理
  10. Honeywell 扫描枪安装
  11. python怎么打e,python e怎么表示
  12. U盘中毒乱码文件还能恢复吗?u盘中毒文件乱码怎么恢复?
  13. 牛逼的Python库MoviePy!利用Python自动剪辑tiktok视频!
  14. 微信公众号申请到开发环境搭建
  15. 交换机Access和Trunk的配置与删除!
  16. 现在是用AI给工业视觉检测赋能最好的时代
  17. 推荐几个统计数据的网站
  18. 什么是网络营销?网络营销简介
  19. Assignment写作中的论证充分性讲解
  20. 一个令人赞不绝口的代码 Debug 神器

热门文章

  1. linux服务器上装R语言,R语言 在linux上的安装
  2. 虚拟机开启以后电脑非常卡_专主开VT电脑版手机安卓模拟器开启VT 模拟器开启VT 虚拟机打开VT...
  3. ROS2 on android,ROS2 通过Debian安装ROS2
  4. 怎样用计算机算分数乘分数,《分数乘分数》教案.pdf
  5. PHP类参数_PHP依赖注入的含义
  6. python二维游戏示例_Python实现的井字棋(Tic Tac Toe)游戏示例
  7. 为什么我那么努力,模电还是学不懂?
  8. 这届清华学生太难了!C++作业难到上热搜!
  9. verilog设计万年历带实验报告
  10. verilog实现伺服电机控制