эй, ребята, я новичок в Swift, пожалуйста, полегче со мной :), пытаясь взять пользовательскую переменную, чтобы она соответствовала декодируемому .
struct pa {
static var pageIdString:String?
}
struct dataModel1:Decodable{
let query:Page
}
struct Page:Decodable{
let pages:pagesidextract
}
//error:- Type 'pagesidextract' does not conform to protocol 'Decodable'
struct pagesidextract:Decodable {
let pa.pageIdString : extracting
//error :- Consecutive declarations on a line must be separated by ';'
//error :-Expected declaration
// error :- Type annotation missing in pattern
}
struct extracting:Codable{
let extract:String
}
Не имеет отношения, но, пожалуйста, назовите структуры с начальной заглавной буквы в соответствии с соглашением об именах.
Вы сделали несоответствие с названием свойств и типов.
Я имею в виду эту строку let pa.pageIdString : extracting
. Вы объявляете имя свойства с помощью .
, что запрещено.
Если вы объявляете константу, у вас должно быть соглашение let name: Type
. И если вы хотите присвоить значение, оно выглядит так let name: Type = value
.
Я бы порекомендовал прочитать Основы Swift.
Это не проблема с Decodable. Вы не можете объявить собственность так, как вы это делаете, что должно означать
let pa.pageIdString : extracting
? Нужно хотя бы точку убрать,let paPageIdString : extracting