Извлечь текст из массива по идентификатору - PullRequest
1 голос
/ 13 марта 2020

У меня есть этот массив, и я хочу напечатать вопросы в текстовой метке по порядку. Есть ли функция, в которой он может прочитать идентификатор каждого вопроса и отсортировать его по порядку?

Это мой код:

struct Question {
    let question: String
    let id: Int
    let answers: [ Answer ]
}

struct Answer {
    let id: String
    let answer: String
    let isSelected: Bool
}

struct allQuestions {

    let Questions = [

        Question(question: "The easiest way to learn is:", id: 1, answers: [
            Answer(id: "V", answer: "By viewing, reading, and observing how the others carry out certain tasks", isSelected: false),
            Answer(id: "A", answer: "By listening, discussing and doing according to verbal instructions" , isSelected: false),
            Answer(id: "K", answer: "By dping and experimenting by myself", isSelected: false)
        ]),

Ответы [ 2 ]

2 голосов
/ 13 марта 2020

для сортировки вопроса по id

let sorted =  questions.sorted(by: { $0.id < $1.id })

, после этого вы можете l oop массив

for question in sorted 
{ 
    print(question.id) 
}
0 голосов
/ 13 марта 2020

Это все, что вам нужно сделать:

let orderedQuestions = questions.answers.sorted { lhs, rhs in

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