Я новичок в Swift, сейчас играю со стикерами.
У меня есть файл JSON со следующей структурой:
{
"stickers": [{
"filename": "happy_face",
"description": "Happy Face",
"premium": "false",
"categories": ["blue", "green", "red"],
"genders": ["male", "female"]
},{
"filename": "sad_face",
"description": "Sad Face",
"premium": "false",
"categories": ["blue", "green", "red", "yellow"],
"genders": ["male"]
}]
}
Стикеры будут иметь то же имя файла, но будут разделены на папки в соответствии с их категорией и полом.
Я могу читать данные JSON просто отлично. Моя проблема в том, что я пытаюсь использовать данные JSON.
Моя цель - разделить наклейки в соответствии с их категориями, которые могут различаться в зависимости от наклейки, позже пользователь сможет переключать категории и отображать правильные наклейки.
let stickerPack = StickerPack.load()
let allStickers = stickerPack!["stickers"] as? [[AnyHashable : Any]]
func getStickersWithCategory(category: String){
var stickers = [AnyObject]()
for sticker in allStickers! {
let cat = sticker["categories"] as? [String]
for item in cat! {
if item.contains(category){
stickers.append(sticker)
}
}
}
}
Результат этого
"Тип аргумента '[AnyHashable: Any]' не соответствует ожидаемому типу 'AnyObject'"
Кто-нибудь может указать мне правильное направление? Это возможно с этой структурой JSON? или лучше иметь разную структуру, разделив каждую категорию и пол? это приведет к большому количеству повторений. Но, возможно, я создаю больше проблем, пытаясь сохранить структуру JSON таким образом.
Вся помощь приветствуется!