Как искать через словарь? - PullRequest
0 голосов
/ 25 июня 2019

Создано несколько вопросов для викторины, каждый вопрос имеет категорию викторины.Как выполнить поиск в словаре для печати вопросов, для которых выбрана пользователем та же категория викторины.

Извините, новичок в словаре по-прежнему, пытаюсь обернуть концепцию вокруг моей головы.

import UIKit

var list = [(categoryText: "Numbers", imageText: "Ten", audioText: "Ten"), (categoryText: "Numbers", imageText: "Eight", audioText: "Eight"), (categoryText: "Numbers", imageText: "Five", audioText: "Five"), (categoryText: "Colors", imageText: "Yellow", audioText: "Yellow"), (categoryText: "Colors", imageText: "Blue", audioText: "Blue"), (categoryText: "Colors", imageText: "Red", audioText: "Red") ]

let selectedCategory = "Numbers"

let q = list.filter { (($0 = "Numbers")) }

print(q)

Возможность печатать тестовую базу на индексной гайке массива, чтобы иметь возможность выбирать вопросы с одинаковым значением.

1 Ответ

1 голос
/ 25 июня 2019
import UIKit
var list = [(categoryText: "Numbers", imageText: "Ten", audioText: "Ten"), (categoryText: "Numbers", imageText: "Eight", audioText: "Eight"), (categoryText: "Numbers", imageText: "Five", audioText: "Five"), (categoryText: "Colors", imageText: "Yellow", audioText: "Yellow"), (categoryText: "Colors", imageText: "Blue", audioText: "Blue"), (categoryText: "Colors", imageText: "Red", audioText: "Red") ]

let selectedCategory = "Numbers"
var selectedCatagoryArray = [Any]()

for index in list {
    if index.categoryText == selectedCategory {
        selectedCatagoryArray.append(index)
    }
}

print(selectedCatagoryArray.description)

если вы делаете лучшую структуру кодирования, я бы предложил

struct Question {
    var categoryText : String?
    var imageText : String?
    var audioText : String?
}

var list = [Question(categoryText: "Numbers", imageText: "Ten", audioText: "Ten"), Question(categoryText: "Numbers", imageText: "Eight", audioText: "Eight"), Question(categoryText: "Numbers", imageText: "Five", audioText: "Five"), Question(categoryText: "Colors", imageText: "Yellow", audioText: "Yellow"), Question(categoryText: "Colors", imageText: "Blue", audioText: "Blue"), Question(categoryText: "Colors", imageText: "Red", audioText: "Red") ]

let selectedCategory = "Numbers"
var selectedCatagoryArray = [Question]()

for question in list {
    if question.categoryText == selectedCategory {
        selectedCatagoryArray.append(question)
    }
}

for element in selectedCatagoryArray {
    print("Question : \(element.categoryText) + with image Text : \(element.imageText) + with audioText : \(element.audioText)" )
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...