2016-10-17 6 views
-2

私はSwiftを使用したiOSアプリケーションで、複数選択肢Q &を作成する必要があります。現在、私は以下のように "ケース"構造を使用しています。それは正しく 複数選択のスイフトコンストラクト

  • に答えてきた後、私は質問の数百または数千を構築するときに、この構築物が面倒になり、私が質問(またはケース)を削除する方法がわからない

    1. :私は二つの問題に直面しています。

    誰かがこれを実装するためのより良い方法を提供できますか?

    func RandomQuestions() { 
        var RandomNumber = arc4random() % 4 
    
        switch (RandomNumber) { 
    
        case 1: 
         QuestionLabel.text = "What is the capital of Austria? " 
         Button1.setTitle ("Istanbul", for: UIControlState.normal) 
         Button2.setTitle ("Vienna", for: UIControlState.normal) 
         Button3.setTitle ("Melbourne", for: UIControlState.normal) 
         Button4.setTitle ("Perth", for: UIControlState.normal) 
         CorrectAnswer = "2" 
    
         break 
        case 2: 
         QuestionLabel.text = "What is 6 x 7? " 
         Button1.setTitle ("12", for: UIControlState.normal) 
         Button2.setTitle ("24", for: UIControlState.normal) 
         Button3.setTitle ("42", for: UIControlState.normal) 
         Button4.setTitle ("48", for: UIControlState.normal) 
         CorrectAnswer = "3" 
    
         break 
        case 3: 
         QuestionLabel.text = "What is the name of the yellow Power Ranger? " 
         Button1.setTitle ("Willy", for: UIControlState.normal) 
         Button2.setTitle ("Mario", for: UIControlState.normal) 
         Button3.setTitle ("Ivan", for: UIControlState.normal) 
         Button4.setTitle ("Alexander", for: UIControlState.normal) 
         CorrectAnswer = "3" 
    
         break 
        case 4: 
         QuestionLabel.text = "How many dwarves in Cinderella" 
         Button1.setTitle ("12", for: UIControlState.normal) 
         Button2.setTitle ("7", for: UIControlState.normal) 
         Button3.setTitle ("3", for: UIControlState.normal) 
         Button4.setTitle ("9", for : UIControlState.normal) 
         CorrectAnswer = "2" 
    
         break 
    
        default: 
         break 
    
  • +0

    すべての質問とコードのコードをハードコードしないでください。それをplistファイルまたはデータベースまたは他のデータストアに入れてください。アプリケーションの実行時に質問を読み込みます。 – rmaddy

    答えて

    1

    私は、プロパティ、テキスト、4つのボタンのタイトル、および正しい答えを持つ単純なモデルオブジェクト(構造体)を考案します。それを質問と呼んでください。あなたの未回答の質問のリストは質問の配列になります。乱数はその配列のインデックスです。さらに、配列を変更することで、正しく答えられた質問を削除することができます。