#16 心理測驗或問卷 App
Published in
8 min readAug 14, 2017
作業目的: 熟練資料傳遞的技巧。
製作一個多頁面的心理測驗或問卷 App。以心理測驗為例,回答完所有問題後,顯示改變一生的結果頁面,決定你是好人還是壞人 !
- 做法1: 使用 IBSegueAction 傳資料。
- 做法2: 使用 UIViewController 的 prepare 傳資料。
Apple 官方範例
Develop in Swift Fundamentals 裡 Unit 3 的 Guided Project: Personality Quiz。建議第一次先自己練習,第二次再參考 Apple 的寫法。
解答下載。
ps: Apple 範例用到 reduce & sorted,如果還沒學過, 可先參考以下寫法。
func calculatePersonalityResult() {
var frequencyOfAnswers = [AnimalType: Int]()
for response in responses {
frequencyOfAnswers[response.type, default: 0] += 1
}
var maxFrequencyOfAnswer = frequencyOfAnswers.first!
for frequencyOfAnswer in frequencyOfAnswers {
if frequencyOfAnswer.value > maxFrequencyOfAnswer.value {
maxFrequencyOfAnswer = frequencyOfAnswer
}
}
resultAnswerLabel.text = "You are a \(maxFrequencyOfAnswer.key.rawValue)!"
resultDefinitionLabel.text = maxFrequencyOfAnswer.key.definition
}