Size: a a a

2021 October 17

АМ

Алексей Мотин... in SwiftBook
Скорее всего как-то неправильно передаю form-data, первый раз делаю post запрос, поэтому не совсем понимаю, в чем проблема
Заранее благодарю!
источник

АМ

Алексей Мотин... in SwiftBook
Вот сам запрос
источник
2021 October 18

M

M34 in SwiftBook
сделать дженерик-обертку над таблицей, тогда вью контроллер не будет ничего знать кроме типа ячейки🤔
источник

M

M34 in SwiftBook
поробуй убрать скобки и запятую заменить на &🤔
источник

АМ

Алексей Мотин... in SwiftBook
Да, уже пофиксил, в этом и была проблема😂
Спасибо!
источник

M

M34 in SwiftBook
источник

АМ

Алексей Мотин... in SwiftBook
typeMismatch(Swift.Dictionary<Swift.String, Any>, Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "response", intValue: nil)], debugDescription: "Expected to decode Dictionary<String, Any> but found an array instead.", underlyingError: nil))

С таким
сталкивался кто-нибудь?
источник

ШД

Шайманов Дмитрий... in SwiftBook
Всем привет, через раз выдаёт ошибку:
The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
Как фиксить?
источник

АМ

Алексей Мотин... in SwiftBook
Варианты со StackOverFlow не помогли😅
Подозреваю, что специально json такой интересный
Модель генерировал, она корректная 100%
источник

K

Kapitoshka438 in SwiftBook
Она у тебя массив, а просит словарь.
источник

АМ

Алексей Мотин... in SwiftBook
Да, это я понял, но почему просит словарь?
Я везде указывал массив, в модели массив, в JSON тоже
источник

АМ

Алексей Мотин... in SwiftBook
источник

АМ

Алексей Мотин... in SwiftBook
Тут вроде тоже все верно
источник

K

Kapitoshka438 in SwiftBook
А есть пример json?
источник

АМ

Алексей Мотин... in SwiftBook
{
 "success" : "true",
 "response" : [
   {
     "amount" : 10.5,
     "currency" : "USDT",
     "created" : 1582148046,
     "desc" : "operation 1"
   },
   {
     "amount" : 100000000.00001,
     "currency" : "ETH",
     "created" : 1582158046,
     "desc" : "operation 2"
   },
   {
     "amount" : 5,
     "currency" : "BTC",
     "created" : 1582178046,
     "desc" : "very very very very very very very very very very long operation title 3"
   },
   {
     "amount" : 100,
     "currency" : "",
     "created" : 1582158046,
     "desc" : "operation 4"
   },
   {
     "amount" : 1,
     "currency" : "LTC",
     "created" : 1582178046,
     "desc" : "operation 5"
   },
   {
     "amount" : 1,
     "currency" : "TRON",
     "created" : 0,
     "desc" : "operation 6"
   },
   {
     "desc" : "operation 7",
     "amount" : 1,
     "created" : 1582188046
   },
   {
     "amount" : "10",
     "currency" : "XRP",
     "created" : 1582189046,
     "desc" : "operation 8"
   }
 ]
}
1582148046,
     "desc" : "operation 1"
   },
   {
     "amount" : 100000000.00001,
     "currency" : "ETH",
     "created" : 1582158046,
     "desc" : "operation 2"
   },
   {
     "amount" : 5,
     "currency" : "BTC",
     "created" : 1582178046,
     "desc" : "very very very very very very very very very very long operation title 3"
   },
   {
     "amount" : 100,
     "currency" : "",
     "created" : 1582158046,
     "desc" : "operation 4"
   },
   {
     "amount" : 1,
     "currency" : "LTC",
     "created" : 1582178046,
     "desc" : "operation 5"
   },
   {
     "amount" : 1,
     "currency" : "TRON",
     "created" : 0,
     "desc" : "operation 6"
   },
   {
     "desc" : "operation 7",
     "amount" : 1,
     "created" : 1582188046
   },
   {
     "amount" : "10",
     "currency" : "XRP",
     "created" : 1582189046,
     "desc" : "operation 8"
   }
 ]
}
источник

K

Kapitoshka438 in SwiftBook
А тип Amount это что?
источник

АМ

Алексей Мотин... in SwiftBook
double или string бывает
источник

АМ

Алексей Мотин... in SwiftBook
Вот модель сгенерированная

// MARK: - Welcome
struct Welcome: Codable {
   let success: String
   let response: [Response]
}

// MARK: - Response
struct Response: Codable {
   let amount: Amount
   let currency: String?
   let created: Int
   let desc: String
}

enum Amount: Codable {
   case double(Double)
   case string(String)

   init(from decoder: Decoder) throws {
       let container = try decoder.singleValueContainer()
       if let x = try? container.decode(Double.self) {
           self = .double(x)
           return
       }
       if let x = try? container.decode(String.self) {
           self = .string(x)
           return
       }
       throw DecodingError.typeMismatch(Amount.self, DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Wrong type for Amount"))
   }

   func encode(to encoder: Encoder) throws {
       var container = encoder.singleValueContainer()
       switch self {
       case .double(let x):
           try container.encode(x)
       case .string(let x):
           try container.encode(x)
       }
   }
}
источник

K

Kapitoshka438 in SwiftBook
А ты в decode точно отправляешь весь это json вместе с success? Может быть туба только response уходит.
источник

АМ

Алексей Мотин... in SwiftBook
в decode именно GetData идет
источник