2
class Question {
var type: QuestionType
var query: String
var answer: String
init(type: QuestionType, query: String, answer: String) {
self.type = type
self.query = query
self.answer = answer
}
}
enum QuestionType: String {
case trueFalse = "The sky is blue."
case multipleChoice = "Who is the ugliest Beatle: John, Paul, George or Ringo?"
case shortAnswer = "What is the capital of Oregon?"
case essay = "In 50 words, explain moleceular fusion"
static let types = [trueFalse, multipleChoice, shortAnswerm, essay]
}
enum AnswerType: String {
case trueFalse = "true"
case multipleChoice = "Sgt. Pepper"
case shortAnswer = "Salem"
case essay = "Molecular fusion happens when a daddy molecule and a mommy molecule love each other very much"
static let types = [trueFalse, multipleChoice, shortAnswerm, essay]
}
protocol QuestionGenerator {
func generateRandomQuestion() -> Question
}
class Quiz: QuestionGenerator {
func generateRandomQuestion() -> Question {
let randomNumeral = Int(arc4random_uniform(4))
let randomType = QuestionType.types[randomNumeral]
let randomQuery = randomType.rawValue
let randomAnswer = AnswerType.types[randomNumeral].rawValue
let randomQuestion = Question(type: randomType, query: randomQuery, answer: randomAnswer)
return randomQuestion
}
}
, wenn ich die Maus über lassen randomAnswer = AnswerType.types [randomNumeral] .rawValue sehe ich eine popover des Fehlertyp zeigt. Ich verstehe nicht, warum Playground denkt, dass es einen Fehler gibtWarum ist mein Enum sagen "Errortype"
Ich kopiere deinen Code in den Spielplatz und der einzige Fehler, den ich sehe, ist das Zeichen 'm' am Ende von 'shortAnswerm' in 'statische Let-Typen' für beide deiner enum. Ansonsten ist alles in Ordnung. –
Danke. Schreibe es als Antwort und ich werde es richtig markieren. Vielen Dank –