この質問は、スウィフト3を使用してテキストアンケートシステムを構築することについてです。 質問があると仮定すると、ユーザーはその時点で1つの質問をし、テキストで返信します(UITextFieldを使用)。 答えが期待されるものなら(例えばYES/NO)、コードは次の質問に進むでしょう。そうでなければ、より精巧な質問を可能な回答で与えようとします(下のコードを参照)。テキストアンケートシステム - スウィフト3
アイデアは辞書の配列のいくつかの種類を持っているが、各辞書(questionItem)は、単一の質問/回答データを...含まれてい
質問:次のコードは正常に動作します場合でも、Iこれは最もスケーラブルでエレガントなソリューションではないと感じています。したがって、私の質問はコード設計に関するあなたのアイデアに関するものです。 どうすればこのようなコードを作ることができますか?それは複数の質問に対してスケーラブルです。
static var questionItem = [
"question": "Is the sky blue?",
"answer": "yes",
"afterAnswer": "question #2",
"explanation": "simply answer: yes or no"
]
class func getAnswer(answer: String) -> String
{
let expectedAnswer = questionItem["answer"]
let isEqual = (answer == expectedAnswer)
var respond = "undifined"
if isEqual {
// go for next question (questionItem["afterAnswer"])
respond = "ok, going to the next question"
} else {
// didn't got the answer I was waiting for, going to show some longer explanation
respond = questionItem["explanation"]!
}
// respond
return respond
}
名護は、まだあなたのコードがエラーを再同調されて感謝します。varトリビア:下の行に期待宣言[のInt:QuestionsAndAnswers] = [:] – chewy
あなたは、迅速な3を使用していますか?私はそれを遊び場で試しても何の問題もありません! –
はいswift 3、クラスで使用しています – chewy