Size: a a a

2020 November 18

🅰Б

🅰️лександр Б.... in SwiftBook
Artem Bazhanov
Я уже зверею от JSON и моделей данных. Подскажите пожалуйста, как правильно сделат модель на основе вот этого скрина?
Я массив с data забираю, а вот данные из поля user уже не могу, пишет ошибку. Моделька вот:

struct TerapModel: Decodable {
   
let current_page: Int
   
let data: [TerapModelData]
}


struct TerapModelData: Decodable {
   
let therapist_id: Int
   
let user_id: Int
   
let speciality_id: Int
   
let speciality_experience: Int
   
let achievements: String
   
let work_experience: Int
   
let verify: Int
   
let grade_id: Int
   
let user: UserTerap
}


Вот этот самый let user: UserTerap и портит всё.

struct UserTerap: Decodable {
   
let f: String
   
let i: String
   
let o: String
}


Все структуры разнесены по разным файлам
Юзай сервисы - https://app.quicktype.io
источник

AB

Artem Bazhanov in SwiftBook
Вот это сервис мне ошибку пишет
источник

AB

Artem Bazhanov in SwiftBook
Invalid Reverse Solidus '\' declaration.
источник

🅰Б

🅰️лександр Б.... in SwiftBook
Artem Bazhanov
Invalid Reverse Solidus '\' declaration.
Где то кривой джейсон, посмотри внимательно
источник

AB

Artem Bazhanov in SwiftBook
Да вроде нет, вот сюда втсавляю: http://json.parser.online.fr/ и все ок, раскладывает как надо
источник

A

Alexander in SwiftBook
Artem Bazhanov
Я уже зверею от JSON и моделей данных. Подскажите пожалуйста, как правильно сделат модель на основе вот этого скрина?
Я массив с data забираю, а вот данные из поля user уже не могу, пишет ошибку. Моделька вот:

struct TerapModel: Decodable {
   
let current_page: Int
   
let data: [TerapModelData]
}


struct TerapModelData: Decodable {
   
let therapist_id: Int
   
let user_id: Int
   
let speciality_id: Int
   
let speciality_experience: Int
   
let achievements: String
   
let work_experience: Int
   
let verify: Int
   
let grade_id: Int
   
let user: UserTerap
}


Вот этот самый let user: UserTerap и портит всё.

struct UserTerap: Decodable {
   
let f: String
   
let i: String
   
let o: String
}


Все структуры разнесены по разным файлам
А что за ошибка? Обычно указывается четко поле, которое не удалось распарсить.
источник

AB

Artem Bazhanov in SwiftBook
Alexander
А что за ошибка? Обычно указывается четко поле, которое не удалось распарсить.
valueNotFound(Swift.KeyedDecodingContainer<CT4Y.UserTerap.(unknown context at $10b4c3448).CodingKeys>, Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "data", intValue: nil), _JSONKey(stringValue: "Index 7", intValue: 7), CodingKeys(stringValue: "user", intValue: nil)], debugDescription: "Cannot get keyed decoding container -- found null value instead.", underlyingError: nil))
источник

A

Alexander in SwiftBook
Похоже на то, что user у вас должно быть опциональным полем.
источник

AB

Artem Bazhanov in SwiftBook
Alexander
Похоже на то, что user у вас должно быть опциональным полем.
Похоже получилось...
источник

A

Alexander in SwiftBook
В этом была проблема?
источник

AB

Artem Bazhanov in SwiftBook
Alexander
В этом была проблема?
Да, спасибо большое!!!
источник

A

Alexander in SwiftBook
Artem Bazhanov
Да, спасибо большое!!!
Да не за что)
источник

SM

Sergey Mihaylenko in SwiftBook
Sergey Mihaylenko
Привет! Подскажите, пожалуйста, почему сцена с Navigation Controller открывается с неполным скрытием предыдущей (выбран тип перехода Show Detail (Replace)? На иллюстрации пример...

Я думал, проблема в том, что я открываю нужный VC через Storyboard Reference, но потом попробовал сделать такой же тип перехода внутри сториборда и получил тот же результат...

P.S.: Причем последующие модальные окна открываются уже правильно, наслаиваются друг на друга, но в фоне стартовый вью контроллер все также "залип" на весь экран...
Плиз, подскажите кто-нибудь хоть где проблему искать, а то я уже такое чувство все что мог перетыкал... (
источник

m

mosariot in SwiftBook
Привет. Ребята, подскажите по CAEmitterBehavior или по подобным ситуациям в целом. В своих двух статьях Брайс показывает, на что этот класс способен, и воссоздаёт эффект конфетти из iMessage:
https://bryce.co/caemitterbehavior/
https://bryce.co/recreating-imessage-confetti/
Но там же он говорит, что использование этого класса было прекращено и документация убрана с офф. сайта. И самое главное - код с этим классом нельзя использовать в продекод с этим классом нельзя использовать в проде.
У меня несколько недоумений по этому поводу:
- Зачем прекращать использовать такой мощный инструмент. И запрещать это делать разработчикам.
- Почему Apple сама его при этом продолжает использовать.
- Почему Xcode не выдаёт никаких предупреждений по этому поводу (deprecated и прочее).
Хотел подобное конфетти у себя в аппке применить, настроил. А потом только в шапке прочитал про странности с этим классом.
источник

G

Give Five Give Seven in SwiftBook
Ребята, почему нельзя указать тип object как Hashable? В чем загвоздка, нужно обязательно jeneric типы использовать?
источник

RR

Roman R in SwiftBook
Добрый! Есть кнопка, два тюлейбла и текстфилд, кнопка при нажатии отражается введенный в текстфилд текст. Все прописано кодом. Создаю все элементы заново через сториборд, но хочу чтобы все также работало и тени и прочий формат сохранился. Как это сделать?
источник

Д

Дмитрий in SwiftBook
Artem Bazhanov
Скиньте файл. Или url
источник

AB

Artem Bazhanov in SwiftBook
Дмитрий
Скиньте файл. Или url
Спасибо, уже помогли разобраться, нужно было user указывать опциональным
источник
2020 November 19

Д

Дмитрий in SwiftBook
mosariot
Привет. Ребята, подскажите по CAEmitterBehavior или по подобным ситуациям в целом. В своих двух статьях Брайс показывает, на что этот класс способен, и воссоздаёт эффект конфетти из iMessage:
https://bryce.co/caemitterbehavior/
https://bryce.co/recreating-imessage-confetti/
Но там же он говорит, что использование этого класса было прекращено и документация убрана с офф. сайта. И самое главное - код с этим классом нельзя использовать в продекод с этим классом нельзя использовать в проде.
У меня несколько недоумений по этому поводу:
- Зачем прекращать использовать такой мощный инструмент. И запрещать это делать разработчикам.
- Почему Apple сама его при этом продолжает использовать.
- Почему Xcode не выдаёт никаких предупреждений по этому поводу (deprecated и прочее).
Хотел подобное конфетти у себя в аппке применить, настроил. А потом только в шапке прочитал про странности с этим классом.
Хмм, может быть его обратно добавили? Это с документациии xamarin.ios
источник

m

mosariot in SwiftBook
Дмитрий
Хмм, может быть его обратно добавили? Это с документациии xamarin.ios
Те статьи прошлогодние. То есть под Xcode 11. В том то и прикол - офф. документацию убрали, но класс продолжает работать без алертов (и apple его применяет), а нам использовать его нельзя 🤯
источник