小编iAj*_*iAj的帖子

如何使用本机崩溃报告在Swift 4中实现异常/错误处理?

我想在我的iOS Swift 4代码中实现本机崩溃报告(不使用推荐的第三方库),并在App崩溃或生成任何异常时通过API调用通知我的后端服务器.我发现App Store/iTunes Connect提供了多次崩溃,但它没有提供崩溃信息,例如UIViewController或者由于它崩溃的错误.有谁可以帮我解决这个问题?提前致谢.

crash ios swift swift4

10
推荐指数
1
解决办法
754
查看次数

如何从iOS Swift Codable的API响应中通知或打印模型类上缺少的键?

我从API收到一个JSON响应,如下所示:

先前的JSON响应:

[
  {
    "EmployeeId": 711,
    "FirstName": "Steve",
    "LastName": "Jobs"
  },
  {
    "EmployeeId": 714,
    "FirstName": "John",
    "LastName": "Doe"
  }
]
Run Code Online (Sandbox Code Playgroud)

和相同的模型类具有以下代码

class EmployeeModel: Codable {

    let EmployeeId: Int?
    let FirstName: String?
    let LastName: String?
}
Run Code Online (Sandbox Code Playgroud)

Swift Codable解析工作正常

do {
    let decodedResponse = try JSONDecoder().decode([EmployeeModel].self, from: response.rawData())
    print(decodedResponse)

} catch let jsonErr {
    print(jsonErr.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)

但是现在

最新的JSON响应

从API更改,并添加了一个MiddleName键作为响应,请参见以下屏幕截图,并且它与Swift Codable代码也可以正常工作。 在此处输入图片说明

但是,如何从iOS Swift 5的API的JSON响应中获得通知或打印MiddleName密钥的信息呢?

更新问题

根据@ CZ54在下面提供的答案,解决方案可以正常工作,但无法检查是否缺少另一个派生类。例如:

在此处输入图片说明

// MARK:- LoginModel
class LoginModel: Codable {

    let token: String?
    let …
Run Code Online (Sandbox Code Playgroud)

json ios swift codable decodable

6
推荐指数
1
解决办法
164
查看次数

标签 统计

ios ×2

swift ×2

codable ×1

crash ×1

decodable ×1

json ×1

swift4 ×1