小编Scr*_*ble的帖子

JSON 解码器类型不匹配错误

我想使用 decodeable 解析 JSON,但我得到一个错误类型不匹配,例如:

Swift.DecodingError.Context(codingPath: [], debugDescription: "预期解码数组,但找到了字典。"

我的 JSON :

{
  "code": 0,
  "data": {
    "_id": "string",
    "title": "string",
    "images": [
      "string"
    ],
    "shortDesc": "string",
    "desc": "string",
    "price": 0,
    "discountPrice": 0,
    "quantity": 0,
    "category": {
      "name": "string",
      "val": "string"
    },
    "brand": {
      "name": "string",
      "val": "string"
    },
    "variants": [
      {
        "name": "string",
        "value": "string",
        "quantity": 0,
        "variantCode": "string"
      }
    ],
    "stockCode": "string",
    "updatedDate": "2018-06-05T14:04:51.226Z",
    "status": true,
    "isDeleted": true,
    "isNew": true,
    "freeCargo": true,
    "createDate": "2018-06-05T14:04:51.226Z",
    "note1": "string",
    "note2": "string",
    "note3": …
Run Code Online (Sandbox Code Playgroud)

parsing json decoder ios swift

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

如何检查数组中是否已存在自定义对象?

我有一个自定义类的对象数组。我班是人。所以我想检查arrPerson是否包含一个对象,那么它不应再次添加到数组中。

这是我的代码

for value in data {

    if self.arrPerson.contains(where: {($0.id != value.id)}){
        self.arrPerson.append(value)
    }
}
Run Code Online (Sandbox Code Playgroud)

请告诉我如何检查自定义类的对象是否已添加,然后不应再次添加

arrays xcode ios swift swift4

0
推荐指数
1
解决办法
1117
查看次数

为UIColor实现Codable

是否可以实现EncodableDecodable属性UIColor

当我尝试添加Decodable扩展时,我收到错误

extension UIColor : Decodable {
    public required init(from decoder: Decoder) throws {
        self.init(red: 1, green: 1, blue: 1, alpha: 1)
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:ColorStuff.playground:98:21:错误:初始化程序要求'init(from :)'只能通过required初始化程序在非最终类'UIColor'的定义中满足公共必需的init(来自解码器:解码器)抛出{

我错过了一些明显的东西吗?

我对Encodable扩展没有任何问题- 这似乎是一个Decodable问题.

错误消息告诉我,由于无法访问UIColor类定义,我无法执行此操作

ios swift swift4 decodable

0
推荐指数
1
解决办法
2504
查看次数

当我在 xcode 11 中创建一个新项目时,它没有故事板,如果我运行旧项目,它没有控制器?

新项目

新项目

旧项目

旧项目

当我创建一个新的或继续使用旧的时,我根本无法使用故事板。请问有什么帮助吗?

storyboard ios swift xcode11

0
推荐指数
1
解决办法
3904
查看次数

SwiftUI - “文本”类型的值没有成员“颜色”错误

我在 Swift UI 代码中遇到错误 1) 协议类型“Any”不能符合“视图”,因为只有具体类型才能符合协议 2)“文本”类型的值没有成员“颜色”

任何人都可以找到解决方案吗?

这是图像 实际问题是什么

ios swift swiftui swiftui-list swiftui-form

0
推荐指数
1
解决办法
2870
查看次数

如何在 Swift 4 中使用 Alamofire 4.7 解析 JSON

我知道之前有人问过这个问题,但答案是在 Swift 3 中并使用旧版本的 Alamofire。

问题:无法弄清楚如何从 JSON 响应中检索数据,主要是api_key

这是我的回复代码:

Alamofire.request(serverLink!, headers: headers).responseJSON{ response in

        if response.value != nil {
            //Some code to get api_key
            print(response)
        } else {
            print("error")
        }
Run Code Online (Sandbox Code Playgroud)

当我print(response)得到以下信息时:

        SUCCESS: {
    user =     {
        "api_key" = 9a13f31770b80767a57d753961acbd3a18eb1370;
        "created_on" = "2010-09-30T12:57:42Z";
        firstname = Paul;
        id = 4;
        "last_login_on" = "2018-03-27T10:15:10+03:00";
        lastname = Smith;
        login = admin;
        mail = "admin@demo.com";
        status = 1;
    }; 
}
Run Code Online (Sandbox Code Playgroud)

我需要得到的是

“api_key”= 9a13f31770b80767a57d753961acbd3a18eb1370;

它可以是数组、字典或仅包含以下内容的字符串形式:

9a13f31770b807...

有人可以向我解释如何从这个请求中获取(解码)它吗?

编辑

print(response.result.value):

RESPONSE: Optional({ …
Run Code Online (Sandbox Code Playgroud)

json decode ios swift alamofire

-4
推荐指数
1
解决办法
9655
查看次数